HueDevice Update für Eurotronic Spirit ZigBee

Begonnen von Shojo, 13 Juni 2019, 21:43:20

Vorheriges Thema - Nächstes Thema

Shojo

Hi justme1968,

ich habe mal besten Wissen und Gewissen einen kleinen Patch für die 31_HUEDevice erstellt.

Es werden dadurch die Readings:

  • heatsetpoint
  • locked
  • mode
  • valve
für den Thermostaten Eurotronic Spirit ZigBee hinzugefügt, magst du das bitte mit ins Modul aufnehmen?

#Edit:


So habe nun leider merken müssen das meine Perl Skills hier nicht für ausreichend sind....
Darum bitte ich dich das Device auch Steuerbar aufzunehmen  ::)

Hier der API Call des Thermostaten

    "config": {
        "battery": 100,
        "displayflipped": null,
        "heatsetpoint": 3000,
        "locked": false,
        "mode": "auto",
        "offset": 0,
        "on": true,
        "reachable": true
    },
    "ep": 1,
    "etag": "b0268276c423ea602c3dfeae7a653df9",
    "manufacturername": "Eurotronic",
    "modelid": "SPZB0001",
    "name": "SPZB0001",
    "state": {
        "lastupdated": "2019-06-13T20:45:32",
        "on": true,
        "temperature": 2247,
        "valve": 251
    },
    "swversion": "20181205",
    "type": "ZHAThermostat",
    "uniqueid": "00:15:8d:00:01:92:2c:bf-01-0201"
}


Als zusätliche Readings wären folgende interessant:

- displayflipped * [true|false]
- heatsetpoint * [500 - 3000] (bei den Wert wäre ein  *100 schön)
- locked * [true|false]
- mode * ["auto","heat","off"]
- valve [0-255] (auch hier wäre % ganz nett :)  ceil((100/255) * $state->{valve}))

die mit  * versehende Readings sollten auch über sein Set setzbar sein.

Hoffe mit den Infos kann man was anfangen.

Gruß
Dennis

FHEM auf: Shuttle PC (x64) (Docker)
Bridge: SignalESP 433mHz, ConBee (deCONZ in Docker)
Rest: ESP8266, SONOFF, Sonos, Echo Dot, Xiaomi Vacuum (root), ESP RGBWW Wifi Led Controller, Node-RED, LEDMatrix, Pixel It

justme1968

zur anzeige: ist in deinem patch alles (bis auf den wertebereich) drin um die readings anzuzeigen?

zum setzen: kannst du das device über das json kommando des device bzw. das setsensor Kommando der bridge steuern? wenn ja: du kannst dir die set kommandos selber über das setList attribut zusammen bauen.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Shojo

#2
Zitat von: justme1968 am 14 Juni 2019, 10:06:24
zur anzeige: ist in deinem patch alles (bis auf den wertebereich) drin um die readings anzuzeigen?
Ich werde gleich noch ein neuen patch erstellen, da dort noch nicht alles drinnen ist.

Zitat von: justme1968 am 14 Juni 2019, 10:06:24
zum setzen: kannst du das device über das json kommando des device bzw. das setsensor Kommando der bridge steuern? wenn ja: du kannst dir die set kommandos selber über das setList attribut zusammen bauen.
Nein das geht nicht, ich muss über die Bridge configsensor nutzen.

#Edit:
So den Patch für die Readings hinzugefügt :) 
FHEM auf: Shuttle PC (x64) (Docker)
Bridge: SignalESP 433mHz, ConBee (deCONZ in Docker)
Rest: ESP8266, SONOFF, Sonos, Echo Dot, Xiaomi Vacuum (root), ESP RGBWW Wifi Led Controller, Node-RED, LEDMatrix, Pixel It

justme1968

ZitatNein das geht nicht, ich muss über die Bridge configsensor nutzen.
das ist komisch. setList und json benutzen intern configsensor und reichen nur die parameter durch. bitte versuch mal raus zu finden was genau nicht geht.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Shojo

Zitat von: justme1968 am 14 Juni 2019, 15:28:24
das ist komisch. setList und json benutzen intern configsensor und reichen nur die parameter durch.
Wenn ich mich nicht vertue nutzt json doch setsensor und nicht configsensor, oder?

Und wenn ich versuche eine setList zu definieren kommt der Fehler im Popup:
BU.Sensor.Thermostat is not a CLIP sensor device
FHEM auf: Shuttle PC (x64) (Docker)
Bridge: SignalESP 433mHz, ConBee (deCONZ in Docker)
Rest: ESP8266, SONOFF, Sonos, Echo Dot, Xiaomi Vacuum (root), ESP RGBWW Wifi Led Controller, Node-RED, LEDMatrix, Pixel It

justme1968

ZitatWenn ich mich nicht vertue nutzt json doch setsensor und nicht configsensor, oder?
du hast natürlich recht. ist schon lange her das ich das gebaut habe.

ZitatUnd wenn ich versuche eine setList zu definieren kommt der Fehler im Popup:
BU.Sensor.Thermostat is not a CLIP sensor device
bei phillips ist/war das setzen der werte nur für CLIP sensoren vorgesehen.

schmeiss mal die zeile 1591 mit der prüfung raus und schau ob es dann geht.

wenn wir die set kommandos auch laufen haben checke ich alles ein.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Shojo

Zitat von: justme1968 am 14 Juni 2019, 21:15:46
schmeiss mal die zeile 1591 mit der prüfung raus und schau ob es dann geht.
Ja jetzt kann ich das setList setzten, allerdings habe ich nun wieder das Problem das hier anscheinend wieder setsensor genutzt wird.

Hier die Meldung:
parameter, mode, not available

Das setlist:
attr BU.Sensor.Thermostat setList mode:{"mode":"auto"}
FHEM auf: Shuttle PC (x64) (Docker)
Bridge: SignalESP 433mHz, ConBee (deCONZ in Docker)
Rest: ESP8266, SONOFF, Sonos, Echo Dot, Xiaomi Vacuum (root), ESP RGBWW Wifi Led Controller, Node-RED, LEDMatrix, Pixel It

justme1968

#7
probiere mal die angehängte version:

- es gibt zusätzlich zu setList jetzt auch configList. die syntax ist identisch, geht aber über configsensor

- im json kommando kann man als ersten parameter optional jetzt auch setsensor oder configsensor vor dem json code angeben. also: set <name> json [setsensor|configsensor] <json>
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Shojo

#8
Ja sehr cool das funktioniere :)
Danke!

Jetzt habe ich aber noch eine Frage, habe ich die Möglichkeit mit der configList eine Auswahlliste zu generieren das ich z.B. eine Mode wählen kann?
Bzw auch ein Wert übergeben kann ?
Wie z.B.  heatsetpoint:{"heatsetpoint":$value}
FHEM auf: Shuttle PC (x64) (Docker)
Bridge: SignalESP 433mHz, ConBee (deCONZ in Docker)
Rest: ESP8266, SONOFF, Sonos, Echo Dot, Xiaomi Vacuum (root), ESP RGBWW Wifi Led Controller, Node-RED, LEDMatrix, Pixel It

justme1968

das sollte mit widgetOverride gehen.

wenn du parameter übergeben willst musst du aber daran denken den teil vor dem Doppelpunkt als regex mit /.../ anzugeben damit die parameter mit matchen.

beides zusammen gibt dann etwas in der art:

attr <name> configList /mode (.*)/:{mode: $1}
attr <name> widgetOverride mode:manual,auto
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Shojo

OK, das klappt auch super  ;D

habe jetzt noch die Möglichkeit dort zu rechnen?
z.B.
/heatsetpoint (.*)/:{"heatsetpoint": ($1 *100)}
FHEM auf: Shuttle PC (x64) (Docker)
Bridge: SignalESP 433mHz, ConBee (deCONZ in Docker)
Rest: ESP8266, SONOFF, Sonos, Echo Dot, Xiaomi Vacuum (root), ESP RGBWW Wifi Led Controller, Node-RED, LEDMatrix, Pixel It

justme1968

nein. das geht leider nicht direkt. im json teil werden nur $1 - $3 per suchen und ersetzen ausgetauscht.


du kannst aber mit cmdalias eine zwei stufige variante bauen. im cmdalias kannst du rechnen und gibst das ergebnis dann ans configList kommando weiter.


wenn du dann so weit bist das alles geht:
- mach bitte noch mal einen patch fertig
- zeig deine komplette konfiguration damit wir sie ins wiki stecken können
- idealer wäre es wenn die kommandos so ähnlich wie möglich zu hm thermostaten werden.
  dann werden sie von alexa und siri auch gleich erkannt ohne das ein grosses homebridgeMapping nötig ist
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

justme1968

wenn wir das ganze in ein AttrTemplate wäre das auch nicht schlecht.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Shojo

Ja ich werde mal versuchen das Modul zu erweitern wie Du es bei den Hue Devices gemacht hast so das der Thermostat erkannt und angelegt wird.
FHEM auf: Shuttle PC (x64) (Docker)
Bridge: SignalESP 433mHz, ConBee (deCONZ in Docker)
Rest: ESP8266, SONOFF, Sonos, Echo Dot, Xiaomi Vacuum (root), ESP RGBWW Wifi Led Controller, Node-RED, LEDMatrix, Pixel It

justme1968

du musst garnichts erweitern. das geht alles über konfiguration.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968