Hi zusammen,
hätte auch Interesse, leider klappt der Januar Termin bei mir nicht. Komme aus Waghäusel, beruflich bin jedoch in Karlsruhe verankert.
Was waren den so die Themen das letzte Mal? Habs leider zu spät gelesen.
Viele Grüße
Hi zusammen,
hätte auch Interesse, leider klappt der Januar Termin bei mir nicht. Komme aus Waghäusel, beruflich bin jedoch in Karlsruhe verankert.
Was waren den so die Themen das letzte Mal? Habs leider zu spät gelesen.
Viele Grüße
Hi zusammen,
ich versuche mich darin, dass ich mich bei der Entwicklung des Shelly Adapters beteilige. Das Shelly Plus Addon hab ich bereits erfolgreich implementieren können, nun hänge ich jedoch an einer Erweiterung des Plug S Plus.
Hier möchte ich folgenden Issue angehen:
https://github.com/iobroker-community-adapters/ioBroker.shelly/issues/836
Im Prinzip bin ich mit dem ganzen Thema bereits zu 80% fertig. Ich kann alle Infos auslesen und auch einige Werte schreiben, solange die sich im JSON nicht unter "switch:0" befinden. Beim lesen musste ich hier auch schon den Doppelpunkt escapen, so dass ich an den Wert ran gekommen bin:
Nachfolgend mal die Ausgabe von "http://192.168.xxx.xxx/rpc/PLUGS_UI.GetConfig"
{"leds":{"mode":"off","colors":{"switch:0":{"on":{"rgb":[100.000,100.000,100.000],"brightness":48.000},"off":{"rgb":[1.176,100.000,12.157],"brightness":48.000}},"power":{"brightness":97.000}},"night_mode":{"enable":false,"brightness":50.000,"active_between":["00:15","01:00"]}},"controls":{"switch:0":{"in_mode":"momentary"}}}
Anbei mal ein Codeschnipsel mit meinen Problem. In Zeile 4 lese ich den Wert vom Shelly aus und dieser wird auch korrekt in den iobroker Objekten angelegt und aktualisiert. Nur Ändern kann ich den Wert nicht. Problem ist auch hier der Doppelpunkt bei "switch:0"
Kann mir hier jemand unter die Arme greifen und mir einen Tipp geben, was ich in Zeile 11 anpassen muss, damit ich die Werte auch schreiben kann?
'Leds.rgb_on_brightness': {
mqtt: {
http_publish: '/rpc/PLUGS_UI.GetConfig',
http_publish_funct: value => value ? JSON.parse(value).leds.colors['switch:0'].on.brightness : undefined,
mqtt_cmd: '<mqttprefix>/rpc',
mqtt_cmd_funct: (value, self) => {
return JSON.stringify({
id: self.getNextMsgId(),
src: 'iobroker',
method: 'PLUGS_UI.SetConfig',
params: { config: { leds:{colors:{power:{'switch:0':{on:{brightness:value} } } } } } },
});
},
},
common: {
name: 'On color: Brightness',
type: 'number',
role: 'value',
read: true,
write: true,
min: 0,
max: 100,
},
},
Häng hier bereits seit einigen Stunden fest und komme hier leider nicht weiter, daher der Versuch hier mal nach Hilfe zu Fragen!
Oh man(n) ich hab den Fehler gefunden:
Ich hatte beim Importierten Gerät (über den Alias) im Jarvis den Datenpunkt (Anzeige) gesetzt gehabt, aber nicht beim Datenpunkt (Trigger).
Trage ich dort das gleiche ein, geht es! Danke für die Hilfe! Wenn ich das Gerät im Jarvis natürlich nur halb anlege, geht es natürlich nicht.
Also kein Bug oder sowas, sondern ein Layer 8 Problem
@MCU
vielen dank für deine Hilfe!
@haus-automatisierung
danke für die Erwähnung, versuche mich die nächste Zeit tiefer in den Quellcode einzuarbeiten. Respekt für deine ganzen Commits in der Vergangenheit, obwohl du in deinem Haus ein KNX Setup nutzt und keine Shellies. Verstehe daher deine Hilferufe nur zu gut!
@ All
Es ist mein erster Commit, bin mir daher unsicher ob mein Code wirklich stabil läuft. Luftfeuchtigkeit für den DHT22 sollte mit der nächsten Version kommen, PR habe ich bereits commitet.
Freue mich daher über Feedback.
Bei mir wird es morgen auch nicht klappen. Wann ist der März und April Termin? Dann kann ich sie frühzeitig in den Kalender eintragen.
Hi zusammen,
hätte auch Interesse, leider klappt der Januar Termin bei mir nicht. Komme aus Waghäusel, beruflich bin jedoch in Karlsruhe verankert.
Was waren den so die Themen das letzte Mal? Habs leider zu spät gelesen.
Viele Grüße
@haus-automatisierung sagte in Stolpersteine bei Adapterentwicklung (Shelly Adapter):
Laut Doku ist "power" dazwischen zuviel: https://shelly-api-docs.shelly.cloud/gen2/0.14/Devices/ShellyPlusPlugS#configuration
oh gott wie peinlich.... hab ich trotz 1000x lesen das komplett übersehen?
@mcm57
Danke, ich les mich mal ein!
Beruflich bin ich halt eher auf der Operativen Seite als der Entwickler Seite aktiv. Da hab ich dann eher mit Puppet, Ansible und Bash Skripten zu tun.
Und klar, der Shelly Adapter ist vielleicht nicht die einfachste Einstieghürde, jedoch lernt man doch neue Sprachen nur, wenn man ein konkretes Problem hat das man lösen möchte
@haus-automatisierung sagte in Stolpersteine bei Adapterentwicklung (Shelly Adapter):
@booosesthasnipper was genau habe ich nicht beantwortet?
https://github.com/iobroker-community-adapters/ioBroker.shelly/issues/836#issuecomment-1762961674
Puh, du bist ja schnell
Ich hatte dort bereits mal die gleiche Frage gestellt gehabt... bin jedoch davon ausgegangen, dass du einfach noch nicht dazu gekommen bist....
@jey-cee sagte in Stolpersteine bei Adapterentwicklung (Shelly Adapter):
Sicher die hast du auch. Nur sieht es so aus als suchst du die Antwort auf eine Frage die nur ein Entwickler geben kann, der sich mit dem Shelly Adapter auskennt.
Das ist nämlich Speziell nur im Shelly Adapter so gelöst.@haus-automatisierung kannst du hier weiter helfen?
Ich hatte Matthias im Github Issue bereits angeschrieben gehabt vor 2 Wochen, jedoch keine Antwort erhalten. (Soll absolut kein Vorwurf sein - er hat ja auch andere Dinge zu tun). Daher dachte ich mal, ich frag mal hier nach.
@paul53 sagte in Stolpersteine bei Adapterentwicklung (Shelly Adapter):
Wirklich nicht?
Nein, wirklich nicht. An anderer Stelle funktioniert das ganze Problemlos, solange kein Doppelpunkt im JSON enthalten ist.
'Leds.mode': {
mqtt: {
http_publish: '/rpc/PLUGS_UI.GetConfig',
http_publish_funct: value => value ? JSON.parse(value).leds.mode : undefined,
mqtt_cmd: '<mqttprefix>/rpc',
mqtt_cmd_funct: (value, self) => {
return JSON.stringify({
id: self.getNextMsgId(),
src: 'iobroker',
method: 'PLUGS_UI.SetConfig',
params: { config: { leds:{mode: value} } }
});
},
},
common: {
name: 'LED indication mode',
type: 'string',
role: 'state',
read: true,
write: true,
states: {
'power': 'power',
'switch': 'switch',
'off': 'off',
},
},
},
Hier klappt das ganze Ohne Probleme oder hier auch:
'Leds.power_brightness': {
mqtt: {
http_publish: '/rpc/PLUGS_UI.GetConfig',
http_publish_funct: value => value ? JSON.parse(value).leds.colors.power.brightness : undefined,
mqtt_cmd: '<mqttprefix>/rpc',
mqtt_cmd_funct: (value, self) => {
return JSON.stringify({
id: self.getNextMsgId(),
src: 'iobroker',
method: 'PLUGS_UI.SetConfig',
params: { config: { leds:{colors:{power:{brightness:value} } } } }
});
},
},
common: {
name: 'Power consumption: Brightness',
type: 'number',
role: 'value.brightness',
read: true,
write: true,
min: 0,
max: 100,
},
},
@paul53
Danke für den Hinweis mit dem Komma. Hast du noch eine Idee wie das ganze nun mit dem Doppelpunkt funktioniert? So wie es aktuell ist, geht es ja leider nicht....
Das mit dem Rolle und dem "Write: true" verstehe ich noch nicht ganz. Wenn ich mir Werte nicht nur anzeigen lassen möchte, sondern diese auch an den Shelly zurückschreiben möchte, muss ich ja im iobroker die Möglichkeit haben, dass die Werte dort geändert werden können, ansonsten geht das Fenster ja gar nicht auf, damit ich dort einen anderen Wert setzen kann?
Wobei ich könnte aus "value" noch "value.brightness" in diesem Fall machen, da der iobroker hier ja eine bessere Alternative bietet.
@djmarc75
ich würde mich noch nicht als Entwickler bezeichnen ich bin da noch gaaaaaaaaanz am Anfang.
Im Entwickler Forum kann ich daher auch noch nicht schreiben, daher dachte ich, ich versuch es mal hier...?
Falls es einen besseren Ort gibt, gerne Bescheid geben, dann würde ich es dort versuchen, bzw. einen Mod Fragen, dass er das Thema dorthin verschiebt.
Hi zusammen,
ich versuche mich darin, dass ich mich bei der Entwicklung des Shelly Adapters beteilige. Das Shelly Plus Addon hab ich bereits erfolgreich implementieren können, nun hänge ich jedoch an einer Erweiterung des Plug S Plus.
Hier möchte ich folgenden Issue angehen:
https://github.com/iobroker-community-adapters/ioBroker.shelly/issues/836
Im Prinzip bin ich mit dem ganzen Thema bereits zu 80% fertig. Ich kann alle Infos auslesen und auch einige Werte schreiben, solange die sich im JSON nicht unter "switch:0" befinden. Beim lesen musste ich hier auch schon den Doppelpunkt escapen, so dass ich an den Wert ran gekommen bin:
Nachfolgend mal die Ausgabe von "http://192.168.xxx.xxx/rpc/PLUGS_UI.GetConfig"
{"leds":{"mode":"off","colors":{"switch:0":{"on":{"rgb":[100.000,100.000,100.000],"brightness":48.000},"off":{"rgb":[1.176,100.000,12.157],"brightness":48.000}},"power":{"brightness":97.000}},"night_mode":{"enable":false,"brightness":50.000,"active_between":["00:15","01:00"]}},"controls":{"switch:0":{"in_mode":"momentary"}}}
Anbei mal ein Codeschnipsel mit meinen Problem. In Zeile 4 lese ich den Wert vom Shelly aus und dieser wird auch korrekt in den iobroker Objekten angelegt und aktualisiert. Nur Ändern kann ich den Wert nicht. Problem ist auch hier der Doppelpunkt bei "switch:0"
Kann mir hier jemand unter die Arme greifen und mir einen Tipp geben, was ich in Zeile 11 anpassen muss, damit ich die Werte auch schreiben kann?
'Leds.rgb_on_brightness': {
mqtt: {
http_publish: '/rpc/PLUGS_UI.GetConfig',
http_publish_funct: value => value ? JSON.parse(value).leds.colors['switch:0'].on.brightness : undefined,
mqtt_cmd: '<mqttprefix>/rpc',
mqtt_cmd_funct: (value, self) => {
return JSON.stringify({
id: self.getNextMsgId(),
src: 'iobroker',
method: 'PLUGS_UI.SetConfig',
params: { config: { leds:{colors:{power:{'switch:0':{on:{brightness:value} } } } } } },
});
},
},
common: {
name: 'On color: Brightness',
type: 'number',
role: 'value',
read: true,
write: true,
min: 0,
max: 100,
},
},
Häng hier bereits seit einigen Stunden fest und komme hier leider nicht weiter, daher der Versuch hier mal nach Hilfe zu Fragen!