Autor Thema: [HMCCU] Wie bekomme ich die RSSI-Werte aktualisiert?  (Gelesen 2352 mal)

Offline juemuc

  • Hero Member
  • *****
  • Beiträge: 1096
Antw:[HMCCU] Wie bekomme ich die RSSI-Werte aktualisiert?
« Antwort #30 am: 02 Mai 2022, 10:39:21 »
Hallo zap,

ja das kann ich im Prinzip bestätigen. Allerdings werden die beiden rssi-Werte unterschiedlich aktualisiert.

 rssidevice -55 2022-05-02 09:22:36
rssipeer   -63 2022-05-01 21:26:01

Viele Grüße
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
Fritzbox 7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM Fensterkontakte und  Amazon Echo Dot, raspberry3B+ mit RPI-RF-MOD und piVCCU, Raspbian ...

Offline zap

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4275
    • HMCCU
Antw:[HMCCU] Wie bekomme ich die RSSI-Werte aktualisiert?
« Antwort #31 am: 02 Mai 2022, 10:46:10 »
Noch als Ergänzung das Verhalten bei LOWBAT:

- Wenn Batterie voll (LOWBAT = false) => Keine Aktualisierung
- Wenn Batterie leer (LOWBAT = true) => Tägliche Aktualisierung
2xCCU3, diverse Komponenten (Fenster, Rolladen, Themostate, Stromzähler, Steckdosen ...)
FHEM mit Raspi für CCU Integration.
IOBroker für UI (VIS), Hue, Sonos usw.
Maintainer der Module FULLY, Meteohub und HMCCU (Schnittstelle CCU-FHEM = best of both worlds approach

Online frank

  • Hero Member
  • *****
  • Beiträge: 10897
Antw:[HMCCU] Wie bekomme ich die RSSI-Werte aktualisiert?
« Antwort #32 am: 02 Mai 2022, 11:08:37 »
meine debmatic version 3.53.30.53 müsste älter sein, also mindestens aus 2021.
fhem logs habe ich leider keine.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

Offline FFHEM

  • Full Member
  • ***
  • Beiträge: 367
Antw:[HMCCU] Wie bekomme ich die RSSI-Werte aktualisiert?
« Antwort #33 am: 03 Mai 2022, 09:46:20 »
Neueste Debmatic-Version, 3.63.8.91

Bei mir ähnlich:
HM-IP-Rauchmelder:
rssidevice   -51   2022-05-03 02:00:49  Relativ frisch, 7 Stunden alt
rssipeer   -58   2022-04-29 17:35:42  Nicht mehr sooo frisch

HM-Classic-Rauchmelder:
rssidevice   -255   2022-04-22 14:15:45 uralt
rssipeer   -255   2022-04-22 14:15:45 uralt

Dagegen werden im Web-UI der Debmatic-CCU die Werte häufig aufgefrischt, z. B. der obige HM-Classic-Rauchmelder:
Rauchmelder_Schlafzimmer NEQxxx0446703 OEXX607003      -85 dBm

Raspberry Pi 3B Buster, Homematic, Sonoff, Shelly, VU+, Worx, Arduino, ESP8266

Offline FFHEM

  • Full Member
  • ***
  • Beiträge: 367
Antw:[HMCCU] Wie bekomme ich die RSSI-Werte aktualisiert?
« Antwort #34 am: 03 Mai 2022, 10:00:10 »
Ich sehe gerade zufällig (!)  in den Servicemeldungen in der Web-UI der Debmatic-CCU, dass eine leere Batterie für einen HK-Thermostaten gemeldet wird.
30.04.2022 11:02:23   03.05.2022 09:54:40   HT_Arbeitszimmer:4      MEQ1873849:4   Heizung      03.05.2022 09:54:40   Leere Batterie

Aber in FHEM ist es m. M. nach widersprüchlich:
Im Reading FAULT_REPORTING steht auch   LOWBAT:
FAULT_REPORTING LOWBAT 2022-05-03 09:54:40aber im Reading "battery" immer noch "ok":
battery ok 2022-04-22 14:15:48
Internals:
   DEF        MEQ1873849:4
   FUUID      61e6a7c0-f33f-26cd-141a-9e587e5d958d323e
   IODev      d_ccu
   NAME       HT_Arbeitszimmer
   NR         1075
   STATE      Ventil: 25 %
   TYPE       HMCCUCHN
   ccuaddr    MEQ1873849:4
   ccudevstate active
   ccuif      BidCos-RF
   ccuname    HT_Arbeitszimmer:4
   ccurolectrl CLIMATECONTROL_RT_TRANSCEIVER
   ccurolestate CLIMATECONTROL_RT_TRANSCEIVER
   ccusubtype HM-CC-RT-DN
   ccutype    HM-CC-RT-DN
   chntype    ?
   firmware   1.4
   readonly   no
   receiver   Arbeitszimmerthermostat,Melder_Arbeitszimmer_Fenster,Melder_Arbeitszimmer_Tuer
   sender     Arbeitszimmerthermostat,Melder_Arbeitszimmer_Fenster,Melder_Arbeitszimmer_Tuer
   READINGS:
     2022-05-03 09:51:41   ACTUAL_TEMPERATURE 21.5
     2022-05-03 09:51:41   BATTERY_STATE   2.2
     2022-05-03 09:51:41   BOOST_STATE     0
     2022-05-03 09:51:41   CONTROL_MODE    AUTO-MODE
     2022-05-03 09:51:41   FAULT_REPORTING LOWBAT
     2022-04-29 17:35:02   IODev           d_ccu
     2022-05-03 09:51:41   PARTY_START_DAY 1
     2022-05-03 09:51:41   PARTY_START_MONTH 1
     2022-05-03 09:51:41   PARTY_START_TIME 00:00
     2022-05-03 09:51:41   PARTY_START_YEAR 0
     2022-05-03 09:51:41   PARTY_STOP_DAY  1
     2022-05-03 09:51:41   PARTY_STOP_MONTH 1
     2022-05-03 09:51:41   PARTY_STOP_TIME 00:00
     2022-05-03 09:51:41   PARTY_STOP_YEAR 0
     2022-05-03 09:51:41   PARTY_TEMPERATURE 5.0
     2022-05-03 09:51:41   SET_TEMPERATURE 21.5
     2022-05-03 09:51:41   VALVE_STATE     25
     2022-04-22 14:15:48   activity        alive
     2022-04-22 14:15:48   battery         ok
     2022-05-03 09:51:41   control         21.5
     2022-05-03 09:51:41   desired-temp    21.5
     2022-05-03 09:51:41   devstate        ok
     2022-05-03 09:51:41   hmstate         21.5
     2022-05-03 09:51:41   measured-temp   21.5
     2022-04-22 14:15:48   rssidevice      -255
     2022-04-22 14:15:48   rssipeer        -42
     2022-04-22 14:15:48   sign            off
     2022-05-03 09:51:41   state           21.5
   hmccu:
     channels   1
     detect     1
     devspec    MEQ1873849:4
     nodefaults 1
     role       4:CLIMATECONTROL_RT_TRANSCEIVER
     setDefaults 0
     cmdlist:
       get       
       set        auto:noArg on:noArg boost:noArg off:noArg manu desired-temp toggle:noArg
     control:
       chn        4
       dpt        SET_TEMPERATURE
     dp:
       4.ACTUAL_TEMPERATURE:
         VALUES:
           NVAL       21.500000
           ONVAL      21.500000
           OSVAL      21.5
           OVAL       21.500000
           SVAL       21.5
           VAL        21.500000
       4.BATTERY_STATE:
         VALUES:
           NVAL       2.200000
           ONVAL      2.200000
           OSVAL      2.2
           OVAL       2.200000
           SVAL       2.2
           VAL        2.200000
       4.BOOST_STATE:
         VALUES:
           NVAL       0
           ONVAL      0
           OSVAL      0
           OVAL       0
           SVAL       0
           VAL        0
       4.CONTROL_MODE:
         VALUES:
           NVAL       0
           ONVAL      0
           OSVAL      AUTO-MODE
           OVAL       0
           SVAL       AUTO-MODE
           VAL        0
       4.FAULT_REPORTING:
         VALUES:
           NVAL       6
           ONVAL      6
           OSVAL      LOWBAT
           OVAL       6
           SVAL       LOWBAT
           VAL        6
       4.PARTY_START_DAY:
         VALUES:
           NVAL       1
           ONVAL      1
           OSVAL      1
           OVAL       1
           SVAL       1
           VAL        1
       4.PARTY_START_MONTH:
         VALUES:
           NVAL       1
           ONVAL      1
           OSVAL      1
           OVAL       1
           SVAL       1
           VAL        1
       4.PARTY_START_TIME:
         VALUES:
           NVAL       00:00
           ONVAL      00:00
           OSVAL      00:00
           OVAL       0
           SVAL       00:00
           VAL        0
       4.PARTY_START_YEAR:
         VALUES:
           NVAL       0
           ONVAL      0
           OSVAL      0
           OVAL       0
           SVAL       0
           VAL        0
       4.PARTY_STOP_DAY:
         VALUES:
           NVAL       1
           ONVAL      1
           OSVAL      1
           OVAL       1
           SVAL       1
           VAL        1
       4.PARTY_STOP_MONTH:
         VALUES:
           NVAL       1
           ONVAL      1
           OSVAL      1
           OVAL       1
           SVAL       1
           VAL        1
       4.PARTY_STOP_TIME:
         VALUES:
           NVAL       00:00
           ONVAL      00:00
           OSVAL      00:00
           OVAL       0
           SVAL       00:00
           VAL        0
       4.PARTY_STOP_YEAR:
         VALUES:
           NVAL       0
           ONVAL      0
           OSVAL      0
           OVAL       0
           SVAL       0
           VAL        0
       4.PARTY_TEMPERATURE:
         VALUES:
           NVAL       5.000000
           ONVAL      5.000000
           OSVAL      5.0
           OVAL       5.000000
           SVAL       5.0
           VAL        5.000000
       4.SET_TEMPERATURE:
         VALUES:
           NVAL       21.500000
           ONVAL      21.500000
           OSVAL      21.5
           OVAL       21.500000
           SVAL       21.5
           VAL        21.500000
       4.VALVE_STATE:
         VALUES:
           NVAL       25
           ONVAL      25
           OSVAL      25
           OVAL       25
           SVAL       25
           VAL        25
     roleCmds:
       get:
       set:
         auto:
           channel    4
           role       CLIMATECONTROL_RT_TRANSCEIVER
           subcount   1
           syntax     V:AUTO_MODE:1
           usage      auto
           subcmd:
             000:
               args       1
               dpt        AUTO_MODE
               fnc       
               max        1
               min        0
               parname    AUTO_MODE
               partype    3
               ps         VALUES
               scn        000
               unit       
         boost:
           channel    4
           role       CLIMATECONTROL_RT_TRANSCEIVER
           subcount   1
           syntax     V:BOOST_MODE:1
           usage      boost
           subcmd:
             000:
               args       1
               dpt        BOOST_MODE
               fnc       
               max        1
               min        0
               parname    BOOST_MODE
               partype    3
               ps         VALUES
               scn        000
               unit       
         desired-temp:
           channel    4
           role       CLIMATECONTROL_RT_TRANSCEIVER
           subcount   1
           syntax     V:SET_TEMPERATURE:?temperature
           usage      desired-temp temperature
           subcmd:
             000:
               args       
               dpt        SET_TEMPERATURE
               fnc       
               max        30.500000
               min        4.500000
               parname    temperature
               partype    2
               ps         VALUES
               scn        000
               unit       �C
         manu:
           channel    4
           role       CLIMATECONTROL_RT_TRANSCEIVER
           subcount   1
           syntax     V:MANU_MODE:?temperature=20
           usage      manu [temperature]
           subcmd:
             000:
               args       20
               dpt        MANU_MODE
               fnc       
               max        30.500000
               min        4.500000
               parname    temperature
               partype    2
               ps         VALUES
               scn        000
               unit       �C
         off:
           channel    4
           role       CLIMATECONTROL_RT_TRANSCEIVER
           subcount   1
           syntax     V:MANU_MODE:4.5
           usage      off
           subcmd:
             000:
               args       4.5
               dpt        MANU_MODE
               fnc       
               max        30.500000
               min        4.500000
               parname    MANU_MODE
               partype    3
               ps         VALUES
               scn        000
               unit       �C
         on:
           channel    4
           role       CLIMATECONTROL_RT_TRANSCEIVER
           subcount   1
           syntax     V:MANU_MODE:30.5
           usage      on
           subcmd:
             000:
               args       30.5
               dpt        MANU_MODE
               fnc       
               max        30.500000
               min        4.500000
               parname    MANU_MODE
               partype    3
               ps         VALUES
               scn        000
               unit       �C
     state:
       chn        4
       dpt        ACTUAL_TEMPERATURE
Attributes:
   cmdIcon    auto:sani_heating_automatic manu:sani_heating_manual boost:sani_heating_boost on:general_an off:general_aus
   event-on-change-reading measured-temp,CONTROL_MODE
   event-on-update-reading battery,desired-temp,VALVE_STATE
   group      Arbeitszimmer
   icon       sani_heating
   room       Heizung
   stateFormat Ventil: VALVE_STATE %
   substexcl  desired-temp
   webCmd     desired-temp:auto:manu:boost:on:off
   widgetOverride desired-temp:on,off,4.5,12.0,12.5,13.0,13.5,14.0,14.5,15.0,15.5,16.0,16.5,17.0,17.5,18.0,18.5,19.0,19.5,20.0,20.5,21.0,21.5,22.0,22.5,30.5
« Letzte Änderung: 03 Mai 2022, 10:05:28 von FFHEM »
Raspberry Pi 3B Buster, Homematic, Sonoff, Shelly, VU+, Worx, Arduino, ESP8266

Offline FFHEM

  • Full Member
  • ***
  • Beiträge: 367
Antw:[HMCCU] Wie bekomme ich die RSSI-Werte aktualisiert?
« Antwort #35 am: 13 Mai 2022, 11:31:58 »
Kann ich hier noch irgendwelche Infos liefern?
Ich habe gerade etwas bemerkt, was evtl. auch Licht in die Sache bringen könnte:
Bei jedem manuellen Verstellen der Solltemperatur oder Modus (manu/auto) per FHEM wird die Batteriezustandsmeldung aufgefrischt, auch wenn diese sich nicht geändert hat.

Internals:
   DEF        MEQ1873849:4
   FUUID      61e6a7c0-f33f-26cd-141a-9e587e5d958d323e
   IODev      d_ccu
   NAME       HT_Arbeitszimmer
   NR         1075
   STATE      Ventil: 31 %
   TYPE       HMCCUCHN
   ccuaddr    MEQ1873849:4
   ccudevstate active
   ccuif      BidCos-RF
   ccuname    HT_Arbeitszimmer:4
   ccurolectrl CLIMATECONTROL_RT_TRANSCEIVER
   ccurolestate CLIMATECONTROL_RT_TRANSCEIVER
   ccusubtype HM-CC-RT-DN
   ccutype    HM-CC-RT-DN
   chntype    ?
   firmware   1.4
   readonly   no
   receiver   Arbeitszimmerthermostat,Melder_Arbeitszimmer_Tuer,Melder_Arbeitszimmer_Fenster
   sender     Arbeitszimmerthermostat,Melder_Arbeitszimmer_Fenster,Melder_Arbeitszimmer_Tuer
   READINGS:
     2022-05-13 11:23:43   ACTUAL_TEMPERATURE 21.6
     2022-05-13 11:23:43   BATTERY_STATE   2.2
     2022-05-13 11:23:43   BOOST_STATE     0
     2022-05-13 11:23:43   CONTROL_MODE    MANU-MODE
     2022-05-13 11:23:43   FAULT_REPORTING LOWBAT
     2022-05-13 09:30:26   IODev           d_ccu
     2022-05-13 11:23:27   LOWBAT          low
     2022-05-13 11:23:43   PARTY_START_DAY 1
     2022-05-13 11:23:43   PARTY_START_MONTH 1
     2022-05-13 11:23:43   PARTY_START_TIME 00:00
     2022-05-13 11:23:43   PARTY_START_YEAR 0
     2022-05-13 11:23:43   PARTY_STOP_DAY  1
     2022-05-13 11:23:43   PARTY_STOP_MONTH 1
     2022-05-13 11:23:43   PARTY_STOP_TIME 00:00
     2022-05-13 11:23:43   PARTY_STOP_YEAR 0
     2022-05-13 11:23:43   PARTY_TEMPERATURE 5.0
     2022-05-13 11:23:43   SET_TEMPERATURE on
     2022-05-13 11:23:43   VALVE_STATE     31
     2022-05-13 11:23:27   battery         low
     2022-05-13 11:23:28   battery_warning 1652433807.74393
     2022-05-13 11:23:43   control         on
     2022-05-13 11:23:43   desired-temp    30.5
     2022-05-13 11:23:43   devstate        ok
     2022-05-13 11:23:43   hmstate         warn_battery
     2022-05-13 11:23:43   measured-temp   21.6
     2022-05-13 11:23:43   state           21.6
   hmccu:
     channels   1
     detect     1
     devspec    MEQ1873849:4
     nodefaults 1
     role       4:CLIMATECONTROL_RT_TRANSCEIVER
     setDefaults 0
     cmdlist:
       get       
       set        desired-temp manu auto:noArg off:noArg on:noArg boost:noArg toggle:noArg
     control:
       chn        4
       dpt        SET_TEMPERATURE
     dp:
       0.LOWBAT:
         VALUES:
           NVAL       1
           ONVAL      1
           OSVAL      low
           OVAL       1
           SVAL       low
           VAL        1
       4.ACTUAL_TEMPERATURE:
         VALUES:
           NVAL       21.600000
           ONVAL      21.500000
           OSVAL      21.5
           OVAL       21.500000
           SVAL       21.6
           VAL        21.600000
       4.BATTERY_STATE:
         VALUES:
           NVAL       2.200000
           ONVAL      2.200000
           OSVAL      2.2
           OVAL       2.200000
           SVAL       2.2
           VAL        2.200000
       4.BOOST_STATE:
         VALUES:
           NVAL       0
           ONVAL      0
           OSVAL      0
           OVAL       0
           SVAL       0
           VAL        0
       4.CONTROL_MODE:
         VALUES:
           NVAL       1
           ONVAL      1
           OSVAL      MANU-MODE
           OVAL       1
           SVAL       MANU-MODE
           VAL        1
       4.FAULT_REPORTING:
         VALUES:
           NVAL       6
           ONVAL      0
           OSVAL      NO_FAULT
           OVAL       0
           SVAL       LOWBAT
           VAL        6
       4.PARTY_START_DAY:
         VALUES:
           NVAL       1
           ONVAL      1
           OSVAL      1
           OVAL       1
           SVAL       1
           VAL        1
       4.PARTY_START_MONTH:
         VALUES:
           NVAL       1
           ONVAL      1
           OSVAL      1
           OVAL       1
           SVAL       1
           VAL        1
       4.PARTY_START_TIME:
         VALUES:
           NVAL       00:00
           ONVAL      00:00
           OSVAL      00:00
           OVAL       0
           SVAL       00:00
           VAL        0
       4.PARTY_START_YEAR:
         VALUES:
           NVAL       0
           ONVAL      0
           OSVAL      0
           OVAL       0
           SVAL       0
           VAL        0
       4.PARTY_STOP_DAY:
         VALUES:
           NVAL       1
           ONVAL      1
           OSVAL      1
           OVAL       1
           SVAL       1
           VAL        1
       4.PARTY_STOP_MONTH:
         VALUES:
           NVAL       1
           ONVAL      1
           OSVAL      1
           OVAL       1
           SVAL       1
           VAL        1
       4.PARTY_STOP_TIME:
         VALUES:
           NVAL       00:00
           ONVAL      00:00
           OSVAL      00:00
           OVAL       0
           SVAL       00:00
           VAL        0
       4.PARTY_STOP_YEAR:
         VALUES:
           NVAL       0
           ONVAL      0
           OSVAL      0
           OVAL       0
           SVAL       0
           VAL        0
       4.PARTY_TEMPERATURE:
         VALUES:
           NVAL       5.000000
           ONVAL      5.000000
           OSVAL      5.0
           OVAL       5.000000
           SVAL       5.0
           VAL        5.000000
       4.SET_TEMPERATURE:
         VALUES:
           NVAL       30.500000
           ONVAL      30.500000
           OSVAL      on
           OVAL       30.500000
           SVAL       on
           VAL        30.500000
       4.VALVE_STATE:
         VALUES:
           NVAL       31
           ONVAL      31
           OSVAL      31
           OVAL       31
           SVAL       31
           VAL        31
     roleCmds:
       get:
       set:
         auto:
           channel    4
           role       CLIMATECONTROL_RT_TRANSCEIVER
           subcount   1
           syntax     V:AUTO_MODE:1
           usage      auto
           subcmd:
             000:
               args       1
               dpt        AUTO_MODE
               fnc       
               max        1
               min        0
               parname    AUTO_MODE
               partype    3
               ps         VALUES
               scn        000
               unit       
         boost:
           channel    4
           role       CLIMATECONTROL_RT_TRANSCEIVER
           subcount   1
           syntax     V:BOOST_MODE:1
           usage      boost
           subcmd:
             000:
               args       1
               dpt        BOOST_MODE
               fnc       
               max        1
               min        0
               parname    BOOST_MODE
               partype    3
               ps         VALUES
               scn        000
               unit       
         desired-temp:
           channel    4
           role       CLIMATECONTROL_RT_TRANSCEIVER
           subcount   1
           syntax     V:SET_TEMPERATURE:?temperature
           usage      desired-temp temperature
           subcmd:
             000:
               args       
               dpt        SET_TEMPERATURE
               fnc       
               max        30.500000
               min        4.500000
               parname    temperature
               partype    2
               ps         VALUES
               scn        000
               unit       �C
         manu:
           channel    4
           role       CLIMATECONTROL_RT_TRANSCEIVER
           subcount   1
           syntax     V:MANU_MODE:?temperature=20
           usage      manu [temperature]
           subcmd:
             000:
               args       20
               dpt        MANU_MODE
               fnc       
               max        30.500000
               min        4.500000
               parname    temperature
               partype    2
               ps         VALUES
               scn        000
               unit       �C
         off:
           channel    4
           role       CLIMATECONTROL_RT_TRANSCEIVER
           subcount   1
           syntax     V:MANU_MODE:4.5
           usage      off
           subcmd:
             000:
               args       4.5
               dpt        MANU_MODE
               fnc       
               max        30.500000
               min        4.500000
               parname    MANU_MODE
               partype    3
               ps         VALUES
               scn        000
               unit       �C
         on:
           channel    4
           role       CLIMATECONTROL_RT_TRANSCEIVER
           subcount   1
           syntax     V:MANU_MODE:30.5
           usage      on
           subcmd:
             000:
               args       30.5
               dpt        MANU_MODE
               fnc       
               max        30.500000
               min        4.500000
               parname    MANU_MODE
               partype    3
               ps         VALUES
               scn        000
               unit       �C
     state:
       chn        4
       dpt        ACTUAL_TEMPERATURE
Attributes:
   ccuflags   showMasterReadings,showDeviceReadings
   cmdIcon    auto:sani_heating_automatic manu:sani_heating_manual boost:sani_heating_boost on:general_an off:general_aus
   event-on-change-reading measured-temp,CONTROL_MODE
   event-on-update-reading battery,desired-temp,VALVE_STATE
   group      Arbeitszimmer
   icon       sani_heating
   room       Heizung
   stateFormat Ventil: VALVE_STATE %
   substexcl  desired-temp
   webCmd     desired-temp:auto:manu:boost:on:off
   widgetOverride desired-temp:on,off,4.5,12.0,12.5,13.0,13.5,14.0,14.5,15.0,15.5,16.0,16.5,17.0,17.5,18.0,18.5,19.0,19.5,20.0,20.5,21.0,21.5,22.0,22.5,30.5
Raspberry Pi 3B Buster, Homematic, Sonoff, Shelly, VU+, Worx, Arduino, ESP8266

 

decade-submarginal