0.7.8 • Published 8 months ago

@eohjsc/react-native-smart-city v0.7.8

Weekly downloads
-
License
MIT
Repository
github
Last release
8 months ago

react-native-smart-city

Getting started

  1. Install package dependencies:
  • Using Yarn: yarn add react-native-reanimated@^1.10.1
  1. Install:
  • Using npm: npm install @eohjsc/react-native-smart-city --save
  • Using Yarn: yarn add @eohjsc/react-native-smart-city
  1. Compile application using react-native run-android

Mostly automatic installation

$ react-native link @eohjsc/react-native-smart-city

Usage

  1. StackNavigator
  • You can see the screens or components that the library is supporting in the folder /@eohjsc/react-native-smart-city/index.js
import {
  UnitStack,
  AddMemberStack,
  AddSubUnitStack,
  AddDeviceStack,
  AddGatewayStack,
  SCContext,
  AddLGDeviceStack,
  initSCConfig,
  AddUnitStack,
  AutomateStack,
  NotificationStack,
} from '@eohjsc/react-native-smart-city';
import Config from 'react-native-config';
import { createNativeStackNavigator } from '@react-navigation/native-stack';

const Stack = createNativeStackNavigator();

const YourStack = () => {
  useEffect(() => {
    const config = {
      apiRoot: Config.API_ROOT,
      GOOGLE_MAP_API_KEY: Config.GOOGLE_MAP_API_KEY,
      LG_CLIENT_ID: Config.LG_CLIENT_ID,
      LG_REDIRECT_URI_APP: Config.LG_REDIRECT_URI_APP,
      LG_URL: Config.LG_URL,
      VCONNEX_CLIENT_ID: Config.VCONNEX_CLIENT_ID,
      VCONNEX_REDIRECT_URI_APP: Config.VCONNEX_REDIRECT_URI,
      pusherAppKey: Config.PUSHER_APP_KEY,
      pusherAppCluster: Config.PUSHER_APP_CLUSTER,
      language,
      setCurrentSensorDisplay,
      appName: Config.APP_NAME,
      packageName: Config.APP_PACKAGE_NAME, //  Your package name is required
      versionCode: Config.APP_VERSION_CODE, //  Your app version is required
    };
    initSCConfig(config);
  }, [language, setCurrentSensorDisplay]);

  // Declare yourAuthObject and params
  return (
    <Stack.Navigator>
      <Stack.Screen
        name={'MainTab'}
        component={MainTab}
        options={{
          headerShown: false,
        }}
      />
      <Stack.Screen
        name={'UnitStack'}
        component={UnitStack}
        initialParams={params}
        options={{
          headerShown: false,
        }}
      />
      <Stack.Screen
        name={'AddGatewayStack'}
        component={AddGatewayStack}
        options={{ headerShown: false }}
      />
      <Stack.Screen
        name={'AddDeviceStack'}
        component={AddDeviceStack}
        options={{ headerShown: false }}
      />
      <Stack.Screen
        name={'AddMemberStack'}
        component={AddMemberStack}
        options={{ headerShown: false }}
      />
      <Stack.Screen
        name={'AddSubUnitStack'}
        component={AddSubUnitStack}
        options={{ headerShown: false }}
      />
    </Stack.Navigator>
  );
};
const MainTab = () => {
  return (
    <Tab.Navigator>
      <Tab.Screen name={'AutomateStack'} component={AutomateStack} />
      <Tab.Screen name={'NotificationStack'} component={NotificationStack} />
    </Tab.Navigator>
  );
};
  1. Use components
import React from 'react';
import { View } from 'react-native';
import { MyPinnedSharedUnit, MyUnit } from '@eohjsc/react-native-smart-city';

const MyScreen = () => {
  return (
    <View>
      <MyUnit />
      <MyPinnedSharedUnit />
    </View>
  );
};
  1. Use navigate to the screens included in the '@eohjsc/react-native-smart-city' library
  • You can see the list of screens, currently supported by the library in the folder /@eohjsc/react-native-smart-city/src/navigations/
import { useNavigation } from '@react-navigation/native';
const { navigate } = useNavigation();
const automate_id = 1;
const unit_id = 1;
const sensor_id = 1;

const handleNavigateScriptDetail = () => {
  navigate('UnitStack', {
    screen: 'ScriptDetail',
    params: {
      id: automate_id,
    },
  });
};

const handleNavigateDeviceDetail = () => {
  navigate('UnitStack', {
    screen: 'DeviceDetail',
      params: {
        unitId: unit_id,
        sensorId: sensor_id,
      },
  });
};

<TouchableOpacity onPress={handleNavigateScriptDetail}>
  <Text>{'Navigate to the "ScriptDetail" screen'}</Text>
</TouchableOpacity>;

<TouchableOpacity onPress={handleNavigateDeviceDetail}>
  <Text>{'Navigate to the "DeviceDetail" screen'}</Text>
</TouchableOpacity>;
  1. Trigger quick action
import React from 'react';
import { View, Button } from 'react-native';
import { sendRemoteCommand } from '@eohjsc/react-native-smart-city/src/iot/RemoteControl';

export const MyFunctionalComponent = () => {
  const sensor = {
    id: 1,
    remote_control_options: {
      internet: {},
      bluetooth: {},
    },
  };
  const action = {
    color: '#00979D',
    command_prefer_over_bluetooth: true,
    command_prefer_over_googlehome: false,
    command_prefer_over_internet: false,
    googlehome_actions: [],
    icon: 'caretup',
    icon_kit: null,
    id: 1,
    key: '24240de0-5c8e-11ec-bf63-0242ac130002',
    lg_actions: [],
    name: 'Garage Up',
  };
  const handleQuickAction = async () => {
    const result = await sendRemoteCommand(sensor, action); // Action Garage Up
    if (result) {
      console.log('Successful control');
    } else {
      console.log('Control failed');
    }
  };
  return (
    <View>
      <Button
        onPress={handleQuickAction}
        title="Example trigger quick action control Garage Up"
      />
    </View>
  );
};
  • sendRemoteCommand user needs to have permission to control the device, you pass in the sensor and action to it and it will run after calling render.
  • sensor is a device in your Unit and action is the action key of the device..
  • You can take out the sensor and action from your Unit when calling the API.UNIT.UNIT_DETAIL(unitId) it will return all devices in 1 unit.
  • Or get sensor from API.DEVICE.DISPLAY(sensor.id) returns all actions of 1 device.
  • Refer YourProjectPath /node_modules/@eohjsc/react-native-smart-city/src/screens/Unit/Detail.js

Sync file to EoH source

  yarn install && yarn watch
@ant-design/icons-react-native@babel/core@babel/helper-environment-visitor@babel/plugin-proposal-class-properties@babel/plugin-proposal-private-methods@babel/plugin-transform-private-methods@babel/runtime@eohjsc/react-native-keyboard-aware-scroll-view@formatjs/intl-getcanonicallocales@formatjs/intl-numberformat@formatjs/intl-pluralrules@invertase/react-native-apple-authentication@messageformat/core@miblanchard/react-native-slider@react-native-async-storage/async-storage@react-native-clipboard/clipboard@react-native-community/checkbox@react-native-community/datetimepicker@react-native-community/eslint-config@react-native-community/geolocation@react-native-community/netinfo@react-native-community/slider@react-native-community/toolbar-android@react-native-segmented-control/segmented-control@react-navigation/bottom-tabs@react-navigation/drawer@react-navigation/native@react-navigation/native-stack@sentry/react-native@testing-library/react-hooks@types/jest@types/react@types/react-native@types/react-test-rendererapisauceaxiosaxios-mock-adapterbabel-jestbase-64deprecated-react-native-prop-typesdetoxdotenveslinteslint-plugin-promiseeslint-plugin-reacteslint-plugin-react-nativefactory-girlgoogle-libphonenumberhome-assistant-js-websockethuskyi18n-jsi18nextjestjest-circusjest-environment-jsdomjetifierlint-stagedlodashlottie-react-nativemd5metro-react-native-babel-presetmomentmoment-timezonenode-html-parsernumeralpatch-packagepluralizepostinstallprecompiled-mqttpusher-jspusher-js-authpython-structquerystringreactreact-content-loaderreact-domreact-hooks-global-statereact-i18nextreact-nativereact-native-alert-asyncreact-native-android-location-enablerreact-native-base64react-native-ble-plxreact-native-bootsplashreact-native-calendarsreact-native-chart-kitreact-native-credit-card-inputreact-native-crypto-aes-cbcreact-native-dashreact-native-deep-linkingreact-native-device-inforeact-native-draggable-flatlistreact-native-fast-imagereact-native-geocoderreact-native-gesture-handlerreact-native-get-locationreact-native-image-crop-pickerreact-native-image-resizerreact-native-input-credit-cardreact-native-iphone-x-helperreact-native-linear-gradientreact-native-localizereact-native-mapsreact-native-modalreact-native-modal-datetime-pickerreact-native-new-snap-carouselreact-native-onesignalreact-native-pager-viewreact-native-parallax-scroll-viewreact-native-parsed-textreact-native-permissionsreact-native-popover-viewreact-native-progressreact-native-reanimatedreact-native-responsive-fontsizereact-native-safe-area-contextreact-native-screensreact-native-super-gridreact-native-svgreact-native-svg-transformerreact-native-toast-messagereact-native-udpreact-native-vector-iconsreact-native-version-checkreact-native-vlc-media-playerreact-native-webviewreact-native-wheel-color-pickerreact-native-wheel-scrollview-pickerreact-native-wifi-rebornreact-test-rendererstring-formatsync-directorytimezone-mocktypescriptuuid-by-stringuuidv4validatorvictory-native
0.7.8

8 months ago

0.7.4

8 months ago

0.7.3

11 months ago

0.7.0

11 months ago

0.6.2-rc1

11 months ago

0.7.3-rc22

9 months ago

0.6.2-rc8

11 months ago

0.7.3-rc23

9 months ago

0.6.2-rc9

11 months ago

0.7.3-rc24

9 months ago

0.6.2-rc6

11 months ago

0.7.3-rc25

9 months ago

0.6.2-rc7

11 months ago

0.7.3-rc26

9 months ago

0.6.2-rc4

11 months ago

0.6.2-rc5

11 months ago

0.6.2-rc2

11 months ago

0.6.2-rc3

11 months ago

0.7.3-rc20

9 months ago

0.7.3-rc21

9 months ago

0.7.3-rc19

9 months ago

0.7.3-rc11

10 months ago

0.7.3-rc12

9 months ago

0.7.3-rc13

9 months ago

0.7.3-rc14

9 months ago

0.7.3-rc15

9 months ago

0.7.3-rc16

9 months ago

0.7.3-rc17

9 months ago

0.7.3-rc18

9 months ago

0.7.3-rc8

10 months ago

0.7.3-rc9

10 months ago

0.7.3-rc2

10 months ago

0.7.3-rc3

10 months ago

0.7.3-rc0

10 months ago

0.7.3-rc1

10 months ago

0.7.3-rc6

10 months ago

0.6.2-rc11

11 months ago

0.7.3-rc7

10 months ago

0.6.2-rc12

11 months ago

0.7.3-rc4

10 months ago

0.7.3-rc5

10 months ago

0.6.2-rc10

11 months ago

0.6.2-rc22

10 months ago

0.6.2-rc20

11 months ago

0.6.2-rc21

11 months ago

0.5.6

1 year ago

0.7.5

8 months ago

0.7.7

8 months ago

0.6.2

11 months ago

0.6.1

11 months ago

0.6.0

12 months ago

0.5.8

1 year ago

0.5.7

1 year ago

0.5.9

12 months ago

0.6.0-rc3

11 months ago

0.6.0-rc2

11 months ago

0.6.0-rc1

11 months ago

0.6.0-rc7

11 months ago

0.6.0-rc6

11 months ago

0.6.0-rc5

11 months ago

0.6.0-rc4

11 months ago

0.6.0-rc8

11 months ago

0.7.3-rc10

10 months ago

0.5.7-rc1

1 year ago

0.5.4-rc15

1 year ago

0.5.5

1 year ago

0.5.4-rc14

1 year ago

0.5.4-rc13

1 year ago

0.5.4-rc12

1 year ago

0.5.4-rc11

1 year ago

0.5.4-rc10

1 year ago

0.5.4-rc9

1 year ago

0.5.4-rc7

1 year ago

0.5.4-rc8

1 year ago

0.5.4-rc1

1 year ago

0.5.4-rc2

1 year ago

0.5.4-rc3

1 year ago

0.5.4-rc4

1 year ago

0.5.4-rc5

1 year ago

0.5.4-rc6

1 year ago

0.5.4

1 year ago

0.5.2-rc

1 year ago

0.5.3

1 year ago

0.5.2

1 year ago

0.4.65-rc

1 year ago

0.5.1

1 year ago

0.5.0

1 year ago

0.4.99

1 year ago

0.4.98

1 year ago

0.4.97

1 year ago

0.4.95

1 year ago

0.4.96

1 year ago

0.4.93

1 year ago

0.4.94

1 year ago

0.4.92

1 year ago

0.4.91

1 year ago

0.4.90

1 year ago

0.4.89

1 year ago

0.4.88

1 year ago

0.4.87

1 year ago

0.4.86

1 year ago

0.4.84

2 years ago

0.4.85

2 years ago

0.4.82

2 years ago

0.4.83

2 years ago

0.4.80

2 years ago

0.4.81

2 years ago

0.4.75

2 years ago

0.4.76

2 years ago

0.4.73

2 years ago

0.4.74

2 years ago

0.4.71

2 years ago

0.4.72

2 years ago

0.4.70

2 years ago

0.4.79

2 years ago

0.4.77

2 years ago

0.4.78

2 years ago

0.4.64

2 years ago

0.4.65

2 years ago

0.4.62

2 years ago

0.4.63

2 years ago

0.4.60

2 years ago

0.4.61

2 years ago

0.4.68

2 years ago

0.4.69

2 years ago

0.4.66

2 years ago

0.4.67

2 years ago

0.4.59

2 years ago

0.4.57

2 years ago

0.4.58

2 years ago

0.4.56

2 years ago

0.4.42

2 years ago

0.4.43

2 years ago

0.4.40

2 years ago

0.4.41

2 years ago

0.4.48

2 years ago

0.4.49

2 years ago

0.4.46

2 years ago

0.4.47

2 years ago

0.4.44

2 years ago

0.4.45

2 years ago

0.4.31

2 years ago

0.4.32

2 years ago

0.4.30

2 years ago

0.4.39

2 years ago

0.4.37

2 years ago

0.4.38

2 years ago

0.4.35

2 years ago

0.4.36

2 years ago

0.4.33

2 years ago

0.4.34

2 years ago

0.4.21

2 years ago

0.4.28

2 years ago

0.4.29

2 years ago

0.4.26

2 years ago

0.4.27

2 years ago

0.4.24

2 years ago

0.4.25

2 years ago

0.4.22

2 years ago

0.4.23

2 years ago

0.3.97

2 years ago

0.3.96

2 years ago

0.3.95

2 years ago

0.3.94

2 years ago

0.3.93

2 years ago

0.3.92

2 years ago

0.3.91

2 years ago

0.3.90

2 years ago

0.3.99

2 years ago

0.3.98

2 years ago

0.4.53

2 years ago

0.3.86

2 years ago

0.4.54

2 years ago

0.4.51

2 years ago

0.4.52

2 years ago

0.4.50

2 years ago

0.3.89

2 years ago

0.4.55

2 years ago

0.3.88

2 years ago

0.3.87

2 years ago

0.4.1

2 years ago

0.4.0

2 years ago

0.4.3

2 years ago

0.4.2

2 years ago

0.3.79

2 years ago

0.3.78

2 years ago

0.3.77

3 years ago

0.3.85

2 years ago

0.3.84

2 years ago

0.3.83

2 years ago

0.3.82

2 years ago

0.3.81

2 years ago

0.3.80

2 years ago

0.3.75

3 years ago

0.3.74

3 years ago

0.3.73

3 years ago

0.3.72

3 years ago

0.3.71

3 years ago

0.3.70

3 years ago

0.3.76

3 years ago

0.3.64

3 years ago

0.3.63

3 years ago

0.3.62

3 years ago

0.3.61

3 years ago

0.3.60

3 years ago

0.3.69

3 years ago

0.3.68

3 years ago

0.3.67

3 years ago

0.3.66

3 years ago

0.3.65

3 years ago

0.3.53

3 years ago

0.3.52

3 years ago

0.3.51

3 years ago

0.3.50

3 years ago

0.3.59

3 years ago

0.3.58

3 years ago

0.3.57

3 years ago

0.3.56

3 years ago

0.3.55

3 years ago

0.3.54

3 years ago

0.3.42

3 years ago

0.3.41

3 years ago

0.3.40

3 years ago

0.3.49

3 years ago

0.3.48

3 years ago

0.3.47

3 years ago

0.3.46

3 years ago

0.3.45

3 years ago

0.3.44

3 years ago

0.3.39

3 years ago

0.3.38

3 years ago

0.3.37

3 years ago

0.2.99

3 years ago

0.3.0

3 years ago

0.3.6

3 years ago

0.3.5

3 years ago

0.3.8

3 years ago

0.3.7

3 years ago

0.3.2

3 years ago

0.3.1

3 years ago

0.3.4

3 years ago

0.3.3

3 years ago

0.3.31

3 years ago

0.3.30

3 years ago

0.3.36

3 years ago

0.3.35

3 years ago

0.3.34

3 years ago

0.3.33

3 years ago

0.3.32

3 years ago

0.3.29

3 years ago

0.3.20

3 years ago

0.3.28

3 years ago

0.3.27

3 years ago

0.3.26

3 years ago

0.3.25

3 years ago

0.3.24

3 years ago

0.3.23

3 years ago

0.3.22

3 years ago

0.3.21

3 years ago

0.3.19

3 years ago

0.3.18

3 years ago

0.3.9

3 years ago

0.3.17

3 years ago

0.3.16

3 years ago

0.3.15

3 years ago

0.3.14

3 years ago

0.3.13

3 years ago

0.3.12

3 years ago

0.3.11

3 years ago

0.3.10

3 years ago

0.2.96

3 years ago

0.2.98

3 years ago

0.2.97

3 years ago

0.2.95

3 years ago

0.2.94

3 years ago

0.2.93

3 years ago

0.2.92

3 years ago

0.2.91

3 years ago

0.2.90

3 years ago

0.2.89

3 years ago

0.2.88

3 years ago

0.2.87

3 years ago

0.2.63

3 years ago

0.2.62

3 years ago

0.2.61

3 years ago

0.2.60

3 years ago

0.2.69

3 years ago

0.2.68

3 years ago

0.2.67

3 years ago

0.2.66

3 years ago

0.2.65

3 years ago

0.2.64

3 years ago

0.2.59

3 years ago

0.2.58

3 years ago

0.2.57

3 years ago

0.2.85

3 years ago

0.2.84

3 years ago

0.2.83

3 years ago

0.2.82

3 years ago

0.2.81

3 years ago

0.2.86

3 years ago

0.2.74

3 years ago

0.2.73

3 years ago

0.2.72

3 years ago

0.2.71

3 years ago

0.2.70

3 years ago

0.2.79

3 years ago

0.2.78

3 years ago

0.2.77

3 years ago

0.2.76

3 years ago

0.2.75

3 years ago

0.2.52

4 years ago

0.2.51

4 years ago

0.2.50

4 years ago

0.2.56

4 years ago

0.2.55

4 years ago

0.2.54

4 years ago

0.2.53

4 years ago

0.2.49

4 years ago

0.2.48

4 years ago

0.2.47

4 years ago

0.2.41

4 years ago

0.2.40

4 years ago

0.2.46

4 years ago

0.2.45

4 years ago

0.2.44

4 years ago

0.2.43

4 years ago

0.2.42

4 years ago

0.2.36

4 years ago

0.2.34

4 years ago

0.2.33

4 years ago

0.2.31

4 years ago

0.2.30

4 years ago

0.2.29

4 years ago

0.2.28

4 years ago

0.2.27

4 years ago

0.2.26

4 years ago

0.2.23

4 years ago

0.2.22

4 years ago

0.2.21

4 years ago

0.2.20

4 years ago

0.2.19

4 years ago

0.2.18

4 years ago

0.2.17

4 years ago

0.2.16

4 years ago

0.2.15

4 years ago

0.2.14

4 years ago

0.2.13

4 years ago

0.2.12

4 years ago

0.2.11

4 years ago

0.2.10

4 years ago

0.2.9

4 years ago

0.2.7

4 years ago

0.2.6

4 years ago

0.2.8

4 years ago

0.2.3

4 years ago

0.2.5

4 years ago

0.2.4

4 years ago

0.2.1

4 years ago

0.2.0

4 years ago

0.1.4

4 years ago

0.2.2

4 years ago

0.1.5

4 years ago

0.1.2

4 years ago

0.1.1

4 years ago