iobroker-community-adapters / ioBroker.shelly

Integrate your Shelly devices into ioBroker via MQTT or CoIoT
Other
154 stars 62 forks source link

Add Shelly Plus AddOn #738

Closed Oberreiter closed 8 months ago

Oberreiter commented 1 year ago

I'm sure that

Shelly device

Shelly Plus1Pm with AddOn

Protocol (CoAP / MQTT)

MQTT

The problem

The AddOn temp sensors are visible in the Shelly App and via HTTP but they are not in the object list.

The same Problem as described here Versions 3.x [https://forum.iobroker.net/topic/31654/gel%C3%B6st-shelly-adapter-shelly1-temperatur-addon ](iobroker forum).

Version of nodejs

v16.18.1

Version of ioBroker js-controller

4.0.23

Version of Adapter

6.2.4 und 6.0.0

Operating system running ioBroker

rasbian

Checklist of files to include below

Additional information & file uploads

iobroker.current.log

klein0r commented 1 year ago

I don't have an addon to implement those features...

Oberreiter commented 1 year ago

I don't have an addon to implement those features... I'm confused so they where never implemented?

klein0r commented 1 year ago

I'm confused so they where never implemented?

Feel free to create a pull request

SirRitter commented 1 year ago

Would be nice if plus addon sensor data find its way to iobroker.

PhileMC commented 1 year ago

Hi Matthias, i have the same problem.

Can i help you with anything?

SirRitter commented 1 year ago
{
  "deviceInfo": {
    "name": null,
    "id": "shellyplusi4-xxx",
    "mac": "B8xxx",
    "key": "xxx",
    "batch": "2143-ChangKeShun",
    "fw_sbits": "00",
    "model": "SNSN-0024X",
    "gen": 2,
    "fw_id": "20221206-142532/0.12.0-gafc2404",
    "ver": "0.12.0",
    "app": "PlusI4",
    "auth_en": true,
    "auth_domain": "shellyplusi4-xxx"
  },
  "status": {
    "sys": {
      "mac": "B8Dxxx",
      "restart_required": false,
      "time": "09:25",
      "unixtime": 1672302337,
      "uptime": 68520,
      "ram_size": 249244,
      "ram_free": 137248,
      "fs_size": 458752,
      "fs_free": 106496,
      "cfg_rev": 29,
      "kvs_rev": 1,
      "schedule_rev": 0,
      "webhook_rev": 1,
      "available_updates": {}
    },
    "jobs": [],
    "timezones": [],
    "geolocation": {},
    "hooks": [
      {
        "id": 1,
        "cid": 100,
        "enable": false,
        "event": "temperature.change",
        "name": "test1 (100)",
        "ssl_ca": "ca.pem",
        "urls": [
          "localhost:$temperature"
        ],
        "condition": null,
        "repeat_period": 0
      }
    ],
    "wifi": {
      "scan": {
        "results": []
      },
      "listapclients": {
        "results": []
      },
      "sta_ip": "10.xxx",
      "status": "got ip",
      "ssid": "FRITxxx",
      "rssi": -67
    },
    "ble": {},
    "cloud": {
      "connected": false
    },
    "input:0": {
      "id": 0,
      "state": false
    },
    "input:1": {
      "id": 1,
      "state": false
    },
    "input:2": {
      "id": 2,
      "state": false
    },
    "input:3": {
      "id": 3,
      "state": false
    },
    "mqtt": {
      "connected": true
    },
    "temperature:100": {
      "id": 100,
      "tC": 25.11,
      "tF": 77.2
    },
    "temperature:101": {
      "id": 101,
      "tC": 25.11,
      "tF": 77.2
    },
    "temperature:102": {
      "id": 102,
      "tC": 25.24,
      "tF": 77.43
    },
    "temperature:103": {
      "id": 103,
      "tC": 25.31,
      "tF": 77.56
    },
    "temperature:104": {
      "id": 104,
      "tC": 25.86,
      "tF": 78.55
    },
    "ws": {
      "connected": false
    },
    "rev": 1
  },
  "config": {
    "sys": {
      "device": {
        "name": null,
        "mac": "B8Dxxx",
        "fw_id": "20221206-142532/0.12.0-gafc2404",
        "discoverable": true,
        "eco_mode": false,
        "addon_type": "sensor"
      },
      "location": {
        "tz": "Europe/Berlin",
        "lat": 49.86571,
        "lon": 8.62604
      },
      "debug": {
        "mqtt": {
          "enable": false
        },
        "websocket": {
          "enable": true
        },
        "udp": {
          "addr": null
        }
      },
      "ui_data": {},
      "rpc_udp": {
        "dst_addr": null,
        "listen_port": null
      },
      "sntp": {
        "server": "time.google.com"
      },
      "cfg_rev": 29
    },
    "cloud": {
      "enable": false,
      "server": "shelly-49-eu.shelly.cloud:6022/jrpc"
    },
    "ble": {
      "enable": true,
      "rpc": {
        "enable": true
      }
    },
    "mqtt": {
      "enable": true,
      "server": "10.xxx:1884",
      "client_id": "shellyplusi4-xxx",
      "user": "admin",
      "topic_prefix": "shellyplusi4-xxx",
      "rpc_ntf": true,
      "status_ntf": true,
      "use_client_cert": false
    },
    "ws": {
      "enable": false,
      "server": null,
      "ssl_ca": "ca.pem"
    },
    "input:0": {
      "id": 0,
      "name": null,
      "type": "switch",
      "invert": false,
      "factory_reset": true
    },
    "input:1": {
      "id": 1,
      "name": null,
      "type": "switch",
      "invert": false,
      "factory_reset": true
    },
    "input:2": {
      "id": 2,
      "name": null,
      "type": "switch",
      "invert": false,
      "factory_reset": true
    },
    "input:3": {
      "id": 3,
      "name": null,
      "type": "switch",
      "invert": false,
      "factory_reset": true
    },
    "temperature:100": {
      "id": 100,
      "name": "T EG RL Gesamt",
      "report_thr_C": 0.1,
      "offset_C": -0.2
    },
    "temperature:101": {
      "id": 101,
      "name": "T EG RL HK9 WC",
      "report_thr_C": 0.1,
      "offset_C": 0.3
    },
    "temperature:102": {
      "id": 102,
      "name": "T EG RL HK2 Küche2",
      "report_thr_C": 0.1,
      "offset_C": -0.2
    },
    "temperature:103": {
      "id": 103,
      "name": "T EG RL HK1 Küche1",
      "report_thr_C": 0.1,
      "offset_C": 0
    },
    "temperature:104": {
      "id": 104,
      "name": "T EG VL Gesamt",
      "report_thr_C": 0.1,
      "offset_C": 0.3
    },
    "wifi": {
      "ap": {
        "ssid": "ShellyPlusI4-Bxxx",
        "is_open": true,
        "enable": true,
        "range_extender": {
          "enable": false
        }
      },
      "sta": {
        "ssid": "FRITxxx",
        "is_open": false,
        "enable": true,
        "ipv4mode": "dhcp",
        "ip": null,
        "netmask": null,
        "gw": null,
        "nameserver": null
      },
      "sta1": {
        "ssid": null,
        "is_open": true,
        "enable": false,
        "ipv4mode": "dhcp",
        "ip": null,
        "netmask": null,
        "gw": null,
        "nameserver": null
      },
      "roam": {
        "rssi_thr": -80,
        "interval": 60
      }
    }
  },
  "schedule": {
    "jobs": [],
    "rev": 0
  },
  "hook": {
    "hooks": [
      {
        "id": 1,
        "cid": 100,
        "enable": false,
        "event": "temperature.change",
        "name": "test1 (100)",
        "ssl_ca": "ca.pem",
        "urls": [
          "localhost:${ev.tC}"
        ],
        "condition": null,
        "repeat_period": 0
      }
    ],
    "rev": 1
  }
}

Habe mal die Diagnostic data hochgeladen von meinem shelly plus i4. Habe 5 Temp Sensoren am Plus Addon angeschlossen. Zudem ein Nonsens-Action-Script erstellt wo die Variable $Temperature übergeben wird an die URL localhost:.

Hilft dies?

klein0r commented 1 year ago

@SirRitter Musst Du irgendwo konfigurieren, was Du angeschlossen hast, oder wird das automatisch erkannt?

SirRitter commented 1 year ago

@SirRitter Musst Du irgendwo konfigurieren, was Du angeschlossen hast, oder wird das automatisch erkannt?

Ich musste zuerst "Add Peripheral" unter "http://<>/#/addon/manage" wählen und konnte dort aus einer Liste von Auswahloptionen wählen. Habe dort "Temperature (DS18B20)" gewählt. Ich glaube, dass danach die Temperatursensoren alle erkannt wurden. Um diese untereinander unterscheiden zu können habe ich nach und nach umbenannt wobei die interne ID immer gleich bleibt.

Fontheweg commented 1 year ago

Ich würde auch gerne helfen wenn ich kann. Habe einen Shelly2PM mit AddOn.

LonnegaN360 commented 1 year ago

I will join here as well. can I assist with Shelly Plus1 with Plus-Addon and five temp-sensors. Would love to get them into iobroker.

thank you!

Mapa828 commented 1 year ago

Hi @klein0r, I guess your HardwareRequest was solved in the meantime ;-) I have also a setup with 5 Temperatur Sensors up and running, and would love to help solving this issue here. Do you have already an idea what needs to be implemented and give a hint?

klein0r commented 1 year ago

@Mapa828 The problem is, that the configuration is quite static at the moment. So the whole adapter needs some redesign to implement the addon

OlafWalther1969 commented 1 year ago

@Mapa828 The problem is, that the configuration is quite static at the moment. So the whole adapter needs some redesign to implement the addon

Hallo Mathias, die mqtt topics für die Temperaturen werden im aktuellen IoBroker Shelly Adapter 6.3.1 angelegt. Shelly 1Plus Firmware 0.12.0 und 0.13.0-beta1. Es werden noch keine Temperaturwerte vom ADDON übermittelt.

Gibt es eine Möglichkeit über einen http request, eine json datei vom Shelly 1plus "anzufordern", wo eventuell die Temperaturwerte enthalten sind?


Hello Mathias, the mqtt topics for the temperatures are created in the current IoBroker Shelly Adapter 6.3.1. Shelly 1Plus firmware 0.12.0 and 0.13.0-beta1. The ADDON is not yet transmitting any temperature values.

Is there a possibility via an http request to "request" a json file from the Shelly 1plus, which may contain the temperature values?

klein0r commented 1 year ago

@OlafWalther1969 Ja, schau mal hier: https://github.com/iobroker-community-adapters/ioBroker.shelly/blob/master/docs/en/dev/dev.md

Beispiele gibts ganz viele im Code:

https://github.com/iobroker-community-adapters/ioBroker.shelly/blob/fa67f6d1880829a274eb37d5d0b81a5a93ff9643/lib/devices/default.js#L1043-L1044

Fontheweg commented 1 year ago

I tried to do it with a script on the ShellyPlus2PM itself: I read the 2 temperatures from the sensors an would like to publish them every 5 seconds.

My point is, that I don't see a State into the Device-States which contains the values I publish ?! I also tried to use a given state and use the named topic prefix. But it don't work. Ideas ? I don't want to create separate states for this values.

let t1 = 0; let t2 = 0;

function get_temperatures() { Shelly.call( "temperature.getstatus", { id: 100 }, function (result, error_code, error_message) { t1 = JSON.stringify(result.tC); } );

Shelly.call( "temperature.getstatus", { id: 101 }, function (result, error_code, error_message) { t2 = JSON.stringify(result.tC); } );

console.log("T2: " + t2); console.log("T2: " + t2);

let newJSON = {}; newJSON.T1 = t1; newJSON.T2 = t2; MQTT.publish("whatshouldbehere/RAW_MQTT", JSON.stringify(newJSON), 0, false);

}

Timer.set( / number of miliseconds / 5000, / repeat? / true, / callback / get_temperatures );

Triton-KS commented 1 year ago

Hallo Matthias, habe noch die Adapter-Version 6.3.1 da mir keine andere im ioBroker angeboten wird. Kann ich dir bei dem Problem auch behilflich sein? Brauchst du eher Daten oder Hardware?

klein0r commented 1 year ago

Brauchst du eher Daten oder Hardware?

Zeit. Viel Zeit

SabineTobi commented 1 year ago

Für die Temperaturen würde es ja reichen, wenn die über MQTT gesendeten Werte einfach als Objects angelegt werden (die JSON-Werte als getrennte Objects).

klein0r commented 1 year ago

einfach als Objects angelegt werden

Wenns einfach ist, dann immer her mit dem PR 😄

Marcel-Reis commented 1 year ago

@klein0r Kann man dir irgendwie die Hardware zukommen lassen oder hilft dir das nicht? Dann würde ich einen Satz bestellen.

klein0r commented 1 year ago

@Marcel-Reis Ich habe alles hier, aber momentan habe ich keine Freizeit dafür übrig

ardu1 commented 1 year ago

Moin zusammen, stehe auch vor dem Problem, dass die übermittelten Werte des Add-ons nicht direkt in den Objekten zur Verfügung stehen. Mir sind 2 alte Add-0ns abgeraucht und die gibt es nicht mehr. Ich hatte gehofft dass die Einbindung der plus Geräte genau so einzubinden sind wie die alten. Da es aber nun anders ist, kann ich die Temperaturdaten so nicht in meine Hausautomation übernehmen. Hat jemand einen Tip, wie ich die Werte ggf. über ein Blockly zerlegt bekomme?

PhileMC commented 1 year ago

Ich habe das wie folgt gelöst:

ACHTUNG: IP-ADRESSE und Datenpunkt anpassen!!!!!!!!!!! [image: image.png] <block xmlns="https://developers.google.com/blockly/xml" type="timeouts_setinterval" id="l4b/[TLP9H,XUVP}A*ny" x="-62" y="1078">

Intervall 1 min TRUE debug http://192.168.178.151/rpc/Temperature.GetStatus?id=100 0_userdata.0.OG-Bad.DHT_Temperature FALSE tC result TRUE debug http://192.168.178.151/rpc/Humidity.GetStatus?id=100 0_userdata.0.OG-Bad.DHT_Humidity FALSE rh result

Am Do., 1. Juni 2023 um 11:57 Uhr schrieb ardu1 @.***>:

Moin zusammen, stehe auch vor dem Problem, dass die übermittelten Werte des Add-ons nicht direkt in den Objekten zur Verfügung stehen. Mir sind 2 alte Add-0ns abgeraucht und die gibt es nicht mehr. Ich hatte gehofft dass die Einbindung der plus Geräte genau so einzubinden sind wie die alten. Da es aber nun anders ist, kann ich die Temperaturdaten so nicht in meine Hausautomation übernehmen. Hat jemand einen Tip, wie ich die Werte ggf. über ein Blockly zerlegt bekomme?

— Reply to this email directly, view it on GitHub https://github.com/iobroker-community-adapters/ioBroker.shelly/issues/738#issuecomment-1571730492, or unsubscribe https://github.com/notifications/unsubscribe-auth/AX6KHG7X55ESHIOJ7T77JDLXJBRPZANCNFSM6AAAAAATD2F6KA . You are receiving this because you commented.Message ID: @.*** com>

-- Philipp Keck Tel.: +4915228639092 @. @.>

https://www.instagram.com/phile_mc/

ardu1 commented 1 year ago

Danke, bräuchte aber noch etwas Hilfe, wie ich das Skript einbinde.

PhileMC commented 1 year ago

Musst nur in Blockly machen, danach kannst „oben rechts“ importieren klicken. Da fügst du einfach das Skript ein.

ardu1 @.***> schrieb am Do. 1. Juni 2023 um 21:34:

Danke, bräuchte aber noch etwas Hilfe, wie ich das Skript einbinde.

— Reply to this email directly, view it on GitHub https://github.com/iobroker-community-adapters/ioBroker.shelly/issues/738#issuecomment-1572661045, or unsubscribe https://github.com/notifications/unsubscribe-auth/AX6KHG4MUYVSILJEPSPFLN3XJDVDNANCNFSM6AAAAAATD2F6KA . You are receiving this because you commented.Message ID: @.*** com>

-- Philipp Keck Tel.: +4915228639092 @. @.>

https://www.instagram.com/phile_mc/

sjfm-design commented 10 months ago

@klein0r Ich habe alles hier, aber momentan habe ich keine Freizeit dafür übrig

gibts da noch ne chance? würde nach dem verteilerumbau beim pool gerne vom D1mini wegkommen und 4 18b20 am shelly plus1pm und addon verwenden...

foxriver76 commented 10 months ago

wenn die IDS immer gleich sind also 100-10X, sollte es eigentlich analog zum Konzept von den 1er Shellies gehen, aber ich bin wirklich nicht weit im Adapter drin. Habe es nur mal für mich für einen speziellen Shelly implementiert da ich es auch benötigt habe. https://github.com/iobroker-community-adapters/ioBroker.shelly/commit/6555b0e1b72fa52e8467e9d06cc74dfde79e60d5

Redclaw88 commented 10 months ago

Hi Matthias, gibts neuigkeiten wegen dem Plus Addon?

Voodoo2man commented 10 months ago

Ich hätte auch Bedarf, dass der Plus Add-On endlich im ioBroker angezeigt wird. Heute ist ein alter Shelly 1 PM mit dem alten And-On abgetaucht. Jetzt ist der Plus 1PM mit neuem Add-On im Einsatz zu dem ich die Temperatur nicht angezeigt bekomme.

Apollon77 commented 10 months ago

@Voodoo2man Wenn Du wüsstest auf was ich so alles warte das es "endlich" mal passiert (nicht in diesem Adapter wohlgemerkt"!)

klein0r commented 10 months ago

Ich hätte auch Bedarf, dass der Plus Add-On endlich im ioBroker angezeigt wird.

Sorry, ich bin momentan mehr in anderen Adaptern tätig, welche ich auch selbst nutze. Daher liegt meine Prio hier nicht sehr hoch.

Voodoo2man commented 10 months ago

Ich hätte auch Bedarf, dass der Plus Add-On endlich im ioBroker angezeigt wird.

Sorry, ich bin momentan mehr in anderen Adaptern tätig, welche ich auch selbst nutze. Daher liegt meine Prio hier nicht sehr hoch.

Ok. Danke für die Info.

OlafWalther1969 commented 10 months ago

Hallo ich hatte mir im letztem Jahr, mit den neuen Shelly Addons, so beholfen:

  1. Ich habe den Mqtt Client, vom Shelly mit den neuen Addon, gegen den Standard MqTT Broker vom IoBroker (nicht den Shelly Mqtt Broker) verbunden.
  2. Dann sieht man alle Werte von den Switches, Temperatursensoren und den Volt Sensoren. Die Daten erhält man, in den Mqtt Posts, in Form eines kleinen JSON Strings. Die Werte des JASON Strings lassen sich mit Blockly ganz simpel Filtern.

Mir ist nur gerade aufgefallen, wenn man im Shelly Addon einen Switch oder einen Button Invertiert, wird nicht der invertierte Wert an den IoBroker gesendet sondern lediglich die RAW Daten "on" oder "off". Das invertieren im Addon hat keine Auswirkung. Firmware ist die 0.14.1

Hat da Jemand zufällig eine Lösung für?

Grüße an Matthias, Dein aktualisierter IoBroker Kurs ist wirklich klasse!

BooosesThaSnipper commented 9 months ago

Wie viele hier, hab ich auch einen Shelly 1 mit AddOn gegen einen Shelly 1 Plus mit AddOn getauscht und nun fehlen mir Daten. An meinen Add-On sind bisher ein Reed Kontakt Schalter und ein DS18B20 angeschlossen, auf der Status Seite finde ich die mit input:100 mit id und state, sowie unter temperature:100 mit id, tC und tF.

Ich versuch mich gerade mal in den Quelltext einzulesen und überlege eventuell mal einen PR. Als Linux SysAdmin bin ich mit JSON bestens vertraut, JS kann ich zwar halbwegs lesen aber schreiben... naja, we will see. Vielleicht fällt mir dann auch noch eine Lösung ein, um weiterhin den Shelly Adapter mit MQTT zu nutzen und Events die über einen Shelly Blu Button per MQTT (über das Script von Matthias aus seinem Video) im Shelly Adapter implementiert werden könnten. Hierfür würde ich jedoch dann einen anderen Issue eröffnen, bevor die Diskussion hier abschweift.

Aktuell würde es mir fürs Verständis helfen, wenn andere User mit anderen Sensoren mal ihren Output der Status Seite veröffentlichen könnten. Unter Sys die MAC und unter Wifi die sta_ip, status und SSID, dürft ihr gerne anonymisieren oder rauslöschen, diese sind irrelevant für die Anpassung. http://192.168.xxx.xxx/rpc/Shelly.GetStatus

Neben dem Output wäre auch das Gerät auf dem das Addon genutzt wird interessant und an welcher Klemme ihr den Sensor angeschlossen habt.

Wie gesagt, ist keine verbindliche Zusage, da ich aktuell keine Ahnung hab, ob ich mich schnell genug einarbeiten kann.

@klein0r dürfte ich dich notfalls für kleinere Rückfragen kontaktieren?

BooosesThaSnipper commented 9 months ago

Ich hab bei mir ein wenig rumgespielt und mit den Sensoren die ich habe funktioniert das ganze nun soweit. Ich wäre bereit den Code zu commiten, gibt es hier irgendwie Best-Practices? Also Branch erstellen, fork erstellen oder was wird hier so als Strategie verwendet?

Fontheweg commented 9 months ago

Ich würde Dir das Ergebnis gerne teilen, aber mit http://10.150.0.113/rpc/Shelly.GetStatus erhalte ich nur einen Error 401 http://10.150.0.113/#/rpc/Shelly.GetStatus geht, aber die Seite ist leer.

Versucht an einem Shelly Plus2PM Firmware v1.03 Habe am Plus-Modul 2 DS18B20 dran.

Fontheweg commented 9 months ago

image

BooosesThaSnipper commented 9 months ago

Ich würde Dir das Ergebnis gerne teilen, aber mit http://10.150.0.113/rpc/Shelly.GetStatus erhalte ich nur einen Error 401 http://10.150.0.113/#/rpc/Shelly.GetStatus geht, aber die Seite ist leer.

Versucht an einem Shelly Plus2PM Firmware v1.03 Habe am Plus-Modul 2 DS18B20 dran.

Sind deine Shellies Passwortgeschützt? Falls ja, musst dich vorher ganz normal in der GUI anmelden. 401 sagt ja auch ---> "Unauthorized"

Fontheweg commented 9 months ago

Erster Gedanke: Hätte ich auch drauf kommen können, aber nope ... https://github.com/iobroker-community-adapters/ioBroker.shelly/assets/77742610/6153a272-d433-4c40-88ec-e4dc042fa2ba

Im Nachhinein, ich war ja auch angemeldet. Hast du evtl. irgendwas aktiviert was fehlen könnte? PS: Ich habe die Authentifizierung abgeschaltet. Jetzt gehts.

{"ble":{},"cloud":{"connected":false},"input:0":{"id":0,"state":false},"input:1":{"id":1,"state":false},"mqtt":{"connected":false},"switch:0":{"id":0, "source":"init", "output":false, "apower":0.0, "voltage":229.2, "freq":50.0, "current":0.000, "pf":0.00, "aenergy":{"total":0.000,"by_minute":[0.000,0.000,0.000],"minute_ts":1695324007},"temperature":{"tC":43.9, "tF":111.0}},"switch:1":{"id":1, "source":"init", "output":false, "apower":0.0, "voltage":229.3, "freq":50.0, "current":0.000, "pf":0.00, "aenergy":{"total":0.000,"by_minute":[0.000,0.000,0.000],"minute_ts":1695324007},"temperature":{"tC":43.9, "tF":111.0}},"sys":{"mac":"xxxxxxxxx","restart_required":false,"time":"21:20","unixtime":1695324009,"uptime":594,"ram_size":243136,"ram_free":138788,"fs_size":458752,"fs_free":139264,"cfg_rev":54,"kvs_rev":4,"schedule_rev":0,"webhook_rev":0,"available_updates":{}},"temperature:100":{"id": 100,"tC":22.1, "tF":71.7},"temperature:101":{"id": 101,"tC":21.9, "tF":71.4},"wifi":{"sta_ip":"10.150.0.113","status":"got ip","ssid":"xxxxxx","rssi":-41},"ws":{"connected":false}}

BooosesThaSnipper commented 9 months ago

Sehr merkwürdig, dass das bei dir nicht geht... der JSON Output sieht soweit plausibel aus: die Werte erscheinen als temperature:100 und temperature:101. Ist bereits alles in meinen Pull Request drin, warten wir bis jemand drüber schaut und den PR in der Form frei gibt, oder ich nochmals nacharbeiten muss.

BooosesThaSnipper commented 9 months ago

Hat noch jemand für mich den JSON Output von einem DHT22 ? Der hat ja neben der Temperatur auch noch Luftfeuchtigkeit. Das sollte dann input 101 sein, bin mir aber unsicher, da ich keinen solchen Sensor habe.

Marcel-Reis commented 9 months ago

Ich hab leider nur einen ShellyPlus1PM PlusAddOn mit zwei DS18B20. Gleich angeschlossen wie Fontheweg. Falls du das noch benötigst.

{"ble":{},"cloud":{"connected":false},"input:0":{"id":0,"state":false},"mqtt":{"connected":true},"switch:0":{"id":0, "source":"WS_in", "output":false, "apower":0.0, "voltage":225.1, "current":0.000, "aenergy":{"total":0.000,"by_minute":[0.000,0.000,0.000],"minute_ts":1695387732},"temperature":{"tC":64.4, "tF":147.9}},"sys":{"mac":"xxxxxxxxx","restart_required":false,"time":"15:02","unixtime":1695387733,"uptime":1221551,"ram_size":234364,"ram_free":157396,"fs_size":458752,"fs_free":102400,"cfg_rev":14,"kvs_rev":0,"schedule_rev":0,"webhook_rev":0,"available_updates":{"stable":{"version":"1.0.3"}}},"temperature:100":{"id": 100,"tC":56.2, "tF":133.2},"temperature:101":{"id": 101,"tC":28.3, "tF":83.0},"wifi":{"sta_ip":"xxxxxx","status":"got ip","ssid":"xxxxxx","rssi":-90},"ws":{"connected":false}}

Fontheweg commented 9 months ago

Hat noch jemand für mich den JSON Output von einem DHT22 ? Der hat ja neben der Temperatur auch noch Luftfeuchtigkeit. Das sollte dann input 101 sein, bin mir aber unsicher, da ich keinen solchen Sensor habe.

Kann ich morgen liefern, die Hardware hab ich. Wollte ursprünglich ein DS18B20 und ein DHT22 am Shelly betreiben, dooferweise geht das ja nicht. Klemme das morgen mal eben an und poste das.

BooosesThaSnipper commented 9 months ago

Hat noch jemand für mich den JSON Output von einem DHT22 ? Der hat ja neben der Temperatur auch noch Luftfeuchtigkeit. Das sollte dann input 101 sein, bin mir aber unsicher, da ich keinen solchen Sensor habe.

Kann ich morgen liefern, die Hardware hab ich. Wollte ursprünglich ein DS18B20 und ein DHT22 am Shelly betreiben, dooferweise geht das ja nicht. Klemme das morgen mal eben an und poste das.

Wenn du so halbwegs dich auf der Linux Kommandozeile auskennst, kannst ja mal eine Sicherung deiner Device Files machen und die Änderung aus meinem Commit dort einpflegen, die Dateien findest du unter "/opt/iobroker/node_modules/iobroker.shelly/lib/devices/gen2/" dann kannst direkt testen ob mein Commit bei mir geht. Dazu den Adapter stoppen, die Datei entsprechend sichern, mit meinen Änderungen die Original Datei ergänzen und dann den Adapter wieder starten.

Disclaimer: Diese Änderung nur ausführen, wenn man cp/vim/nano/ Problemlos bedienen kann, man weiß was man macht und dies auf eigene Gefahr tut.

LonnegaN360 commented 9 months ago

Hi, falls relevant, hier nochmal ein Satus mit vier Temp-Sensoren: ble {} cloud connected true input:0 id 0 state false mqtt connected true switch:0 id 0 source "init" output false temperature tC 40.5 tF 104.9 sys mac "xxxxxxxxx" restart_required false time "12:37" unixtime 1695551860 uptime 1612745 ram_size 234156 ram_free 152736 fs_size 458752 fs_free 102400 cfg_rev 42 kvs_rev 1 schedule_rev 0 webhook_rev 0 available_updates stable version "1.0.3" temperature:100 id 100 tC 25 tF 77 temperature:101 id 101 tC 28 tF 82.4 temperature:102 id 102 tC 26.2 tF 79.2 temperature:103 id 103 tC 44.5 tF 112 temperature:104 id 104 tC 36.7 tF 98.1 wifi sta_ip "xxx.xxx.xxx.xxx" status "got ip" ssid "xxxx" rssi -57 ws connected false

BooosesThaSnipper commented 9 months ago

Hi, falls relevant, hier nochmal ein Satus mit vier Temp-Sensoren: ble {} cloud connected true input:0 id 0 state false mqtt connected true switch:0 id 0 source "init" output false temperature tC 40.5 tF 104.9 sys mac "xxxxxxxxx" restart_required false time "12:37" unixtime 1695551860 uptime 1612745 ram_size 234156 ram_free 152736 fs_size 458752 fs_free 102400 cfg_rev 42 kvs_rev 1 schedule_rev 0 webhook_rev 0 available_updates stable version "1.0.3" temperature:100 id 100 tC 25 tF 77 temperature:101 id 101 tC 28 tF 82.4 temperature:102 id 102 tC 26.2 tF 79.2 temperature:103 id 103 tC 44.5 tF 112 temperature:104 id 104 tC 36.7 tF 98.1 wifi sta_ip "xxx.xxx.xxx.xxx" status "got ip" ssid "xxxx" rssi -57 ws connected false

sollte mit meinen Änderungen funktionieren, kannst ja gerne mal vorab testen, falls du möchtest.

Fontheweg commented 9 months ago

Hier noch der Teil mit dem DHT22 {"ble":{},"cloud":{"connected":false},"humidity:100":{"id": 100,"rh":49.6},"input:0":{"id":0,"state":false},"input:1":{"id":1,"state":false},"mqtt":{"connected":false},"switch:0":{"id":0, "source":"init", "output":false, "apower":0.0, "voltage":230.9, "freq":50.1, "current":0.000, "pf":0.00, "aenergy":{"total":0.000,"by_minute":[0.000,0.000,0.000],"minute_ts":1695567739},"temperature":{"tC":35.5, "tF":95.9}},"switch:1":{"id":1, "source":"init", "output":false, "apower":0.0, "voltage":231.0, "freq":50.1, "current":0.000, "pf":0.00, "aenergy":{"total":0.000,"by_minute":[0.000,0.000,0.000],"minute_ts":1695567739},"temperature":{"tC":35.5, "tF":95.9}},"sys":{"mac":"xxxxxxxxxxx","restart_required":false,"time":"17:02","unixtime":1695567740,"uptime":127,"ram_size":243244,"ram_free":140196,"fs_size":458752,"fs_free":139264,"cfg_rev":56,"kvs_rev":4,"schedule_rev":0,"webhook_rev":0,"available_updates":{}},"temperature:100":{"id": 100,"tC":22.1, "tF":71.8},"wifi":{"sta_ip":"10.150.0.113","status":"got ip","ssid":"xxxxxxxxxxxxx","rssi":-52},"ws":{"connected":false}}

Fontheweg commented 9 months ago

2023-09-24_17h04_00

Fontheweg commented 9 months ago

Bei dem Code-Austausch bin ich so allerdings raus. Ich traue mir das durchaus in nano zu, aber ich weiß nichtmal wo ich das ändern muss. Kannst du ggf. mehr Hilfestellung geben?

LonnegaN360 commented 9 months ago

Also die Quick-and-Dirty Anpassungen funktionieren. Nur der Name des Sensors muss halt manuell eingetragen werden. Das Übertragen der Daten in die Datei hat auch geklappt (QNAP Containerstation, da sind die Daten leicht erreichbar und habe sie im Editor einfach eingetragen, fünf mal, für jeden Sensor separat. Jetzt kann das Aufzeichnen endlich beginnen! Cool! Danke für die Unterstützung @BooosesThaSnipper !