NEWS
Tasmota 10 und sonoff adapter
-
wenn du mal einen auf tasmota 10 umstellst, wäre echt interessan, zu sehen, ob das Info1_Module wieder verschwindet
man kann das doch nirgends definieren - denke ich - oder hast du ein selbstgemachtes bin file zum flashen
Alles von der "offiziellen" Seite.
Geflasht über TuyaConvert, da war glaube ich die Version 7.42?? drin.
Hab dann paar Mal upgedatet bis sie vernünftig liefen.
Jetzt lass ich die Gosund Dinger bei 9.31 bzw. 9.5.0 -
Alles von der "offiziellen" Seite.
Geflasht über TuyaConvert, da war glaube ich die Version 7.42?? drin.
Hab dann paar Mal upgedatet bis sie vernünftig liefen.
Jetzt lass ich die Gosund Dinger bei 9.31 bzw. 9.5.0 -
Ich muss immer die gz. Dateien nehmen, weil sonst das Update fehlschlägt.
http://ota.tasmota.com/tasmota/release/
Hab für Dich mal ne Dose upgedatet.....
-
Ich muss immer die gz. Dateien nehmen, weil sonst das Update fehlschlägt.
http://ota.tasmota.com/tasmota/release/
Hab für Dich mal ne Dose upgedatet.....
@haselchen klasse - bin gespannt
-
@haselchen klasse - bin gespannt
-
-
welches Ergebnis möchtest du denn?
Ich kann das gerne auch einstellen.WICHTIG für Nachmacher:
Energy gestern und heute gehen nach dem Update flöten.
Für wen das wichtig ist, sollte sich vielleicht die Daten vorher notieren. -
welches Ergebnis möchtest du denn?
Ich kann das gerne auch einstellen.WICHTIG für Nachmacher:
Energy gestern und heute gehen nach dem Update flöten.
Für wen das wichtig ist, sollte sich vielleicht die Daten vorher notieren.ich würde gerne das INFO.Module oder INFO.Info1.Module sehen
das Info1_Module als dp mag ich nicht :-)
-
ich würde gerne das INFO.Module oder INFO.Info1.Module sehen
das Info1_Module als dp mag ich nicht :-)
Ändert sich nichts.
Nach dem Anhaken in den Settings ist ein Datenpunkt dazugekommen.
Energy Period
Leider keine Ahnung was der aussagen soll.
-
Ändert sich nichts.
Nach dem Anhaken in den Settings ist ein Datenpunkt dazugekommen.
Energy Period
Leider keine Ahnung was der aussagen soll.
ich denke, ich werde diese form einfach escapen - sind bei dir alle so ? mit dem Info_...
-
ich denke, ich werde diese form einfach escapen - sind bei dir alle so ? mit dem Info_...
Ab Version 9.3.1 , ja
-
Ab Version 9.3.1 , ja
-
Scheint bei den Adaptern MQTT und Sonoff eine verschiedene Herangehensweise zu sein, wie Datenpunkte bzw Ordner angelegt werden.
-
Scheint bei den Adaptern MQTT und Sonoff eine verschiedene Herangehensweise zu sein, wie Datenpunkte bzw Ordner angelegt werden.
@haselchen bist du in mqtt oder sonoff adapter
-
@haselchen bist du in mqtt oder sonoff adapter
Ganz geschmeidig im Sonoff Adapter.
Der MQTT hatte rumgezickt, wurde immer grün gelb grün gelb... -
@haselchen bist du in mqtt oder sonoff adapter
@liv-in-sky ich wollte mal was mit Klassen machen. Bin nicht sicher ob ich das richtig getroffen habe aber vielleicht hilft das hier etwas:
/** * Zweck: Leichterer Zugriff auf Tasmota Info DP * Datum: 09.11.2011 * Autor: @fastfoot * Forum: https://forum.iobroker.net/topic/49205/tasmota-10-und-sonoff-adapter/34 */ const dbg = true; const DevicesBasePath = '0_userdata.0.Forum.MQTT.Tasmota'; class Tasmota { constructor(id) { this._getDps(id); } get hostname() { return getState(this.dp.hostname).val; } get ipaddress() { return getState(this.dp.ipaddress).val; } get module() { return getState(this.dp.module).val; } get version() { return getState(this.dp.version).val; } get restartreason() { return getState(this.dp.restartreason).val; } getId(state){return this.dp[state]} _getDps(id) { const states = $(`${id}*`); this.dp={}; states.each(state => { const dp = state.split('.').pop(); let attr = dp.slice(dp.indexOf('_') + 1); this.dp[attr.toLowerCase()] = state; }) } } const l1 = new Tasmota(DevicesBasePath + '.Licht1'); const l2 = new Tasmota(DevicesBasePath + '.Licht2'); log('hostname: ' + l1.hostname) log('ip: ' + l2.ipaddress) log('rgb: ' + getState(l2.getId('rgb')).val) log('version: ' + getState(l1.getId('version')).val) -
@liv-in-sky ich wollte mal was mit Klassen machen. Bin nicht sicher ob ich das richtig getroffen habe aber vielleicht hilft das hier etwas:
/** * Zweck: Leichterer Zugriff auf Tasmota Info DP * Datum: 09.11.2011 * Autor: @fastfoot * Forum: https://forum.iobroker.net/topic/49205/tasmota-10-und-sonoff-adapter/34 */ const dbg = true; const DevicesBasePath = '0_userdata.0.Forum.MQTT.Tasmota'; class Tasmota { constructor(id) { this._getDps(id); } get hostname() { return getState(this.dp.hostname).val; } get ipaddress() { return getState(this.dp.ipaddress).val; } get module() { return getState(this.dp.module).val; } get version() { return getState(this.dp.version).val; } get restartreason() { return getState(this.dp.restartreason).val; } getId(state){return this.dp[state]} _getDps(id) { const states = $(`${id}*`); this.dp={}; states.each(state => { const dp = state.split('.').pop(); let attr = dp.slice(dp.indexOf('_') + 1); this.dp[attr.toLowerCase()] = state; }) } } const l1 = new Tasmota(DevicesBasePath + '.Licht1'); const l2 = new Tasmota(DevicesBasePath + '.Licht2'); log('hostname: ' + l1.hostname) log('ip: ' + l2.ipaddress) log('rgb: ' + getState(l2.getId('rgb')).val) log('version: ' + getState(l1.getId('version')).val)@fastfoot danke - aber dann muss ich die klassen auf die unterschiedlichen möglichkeiten anpassen - aber ich schaue es mir nochmal an
@haselchen danke fürs testen
-
@fastfoot danke - aber dann muss ich die klassen auf die unterschiedlichen möglichkeiten anpassen - aber ich schaue es mir nochmal an
@haselchen danke fürs testen
@liv-in-sky sagte in Tasmota 10 und sonoff adapter:
aber dann muss ich die klassen auf die unterschiedlichen möglichkeiten anpassen
eigentlich ist dafür getId() vorgesehen. Statt unterschiedliche Pfade abzufragen frägst du nur den Statenamen ab, also zB rgb, on etc.. In der Klasse sind die Datenpunkte dazu gespeichert. In den gettern sind halt nur die hier im Thread behandelten Info-Punkte implementiert
-
Hilft zwar jetzt nicht, aber für's nächste mal :
Wenn ich in Skripten mit Datenpunkten arbeite, nutze ich den alias-manager Adapter. Dort weise ich den Variablen die ich im Skript nutze die Datenpunkte zu. Wenn sich dann ein Datenpunkt mal ändert, muss ich das nur im alias-manager machen und das Skript bleibt unberührt. -
@liv-in-sky ich wollte mal was mit Klassen machen. Bin nicht sicher ob ich das richtig getroffen habe aber vielleicht hilft das hier etwas:
/** * Zweck: Leichterer Zugriff auf Tasmota Info DP * Datum: 09.11.2011 * Autor: @fastfoot * Forum: https://forum.iobroker.net/topic/49205/tasmota-10-und-sonoff-adapter/34 */ const dbg = true; const DevicesBasePath = '0_userdata.0.Forum.MQTT.Tasmota'; class Tasmota { constructor(id) { this._getDps(id); } get hostname() { return getState(this.dp.hostname).val; } get ipaddress() { return getState(this.dp.ipaddress).val; } get module() { return getState(this.dp.module).val; } get version() { return getState(this.dp.version).val; } get restartreason() { return getState(this.dp.restartreason).val; } getId(state){return this.dp[state]} _getDps(id) { const states = $(`${id}*`); this.dp={}; states.each(state => { const dp = state.split('.').pop(); let attr = dp.slice(dp.indexOf('_') + 1); this.dp[attr.toLowerCase()] = state; }) } } const l1 = new Tasmota(DevicesBasePath + '.Licht1'); const l2 = new Tasmota(DevicesBasePath + '.Licht2'); log('hostname: ' + l1.hostname) log('ip: ' + l2.ipaddress) log('rgb: ' + getState(l2.getId('rgb')).val) log('version: ' + getState(l1.getId('version')).val)@fastfoot sagte in Tasmota 10 und sonoff adapter:
habe das nochmal angesehen - habe nicht so viel erfahrung mit class. habe mal vor langer zeit ein java project gemacht - ist lange her.
das gefällt mir besonders:states.each(state => { const dp = state.split('.').pop(); let attr = dp.slice(dp.indexOf('_') + 1); this.dp[attr.toLowerCase()] = stateleider bin ich da am selben problem - ich muss die abfragen, um was es für dp geht , auch auf alle möglichkeiten hin abfragen. z.b dein attr. das beginnt nicht immer mit _Illuminance - es wird mittlerweile mit nur Illuminance im dp geschrieben, dafür ist es in einem anderen ordner in der sonoff-instanz
letztlich ist aber dein vorschlag interessant - man kann mit einer klasse alles abdecken - muss halt gut geschrieben sein - ändert sich was, muss nur die class geändert werden und nicht überall mit if gearbeitet werden
in meinem tabellescript werde ich das nicht verwenden - ist mir im moment zuviel anpassung
aber ich versuche gerade ein neues project - ich habe den firetv adapter nie stabil zum laufen bekommen - evtl versuche ich da mal was mit class und einem script ans laufen zu bekommen
auf jeden fall danke für die idee
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden



