ACHTUNG
Bei der nächsten Beta Version (Version 2.0) werden sich die Idents der Variablen leider nochmal ändern.
Das heißt, gespeicherte Werte (Archiv) werden in den neuen Variablen nicht vorhanden sein, außer ihr migriert diese Werte.
Das passiert dadurch, dass ich im Hintergrund das Modul nochmal umgebaut habe.
Jetzt muss ich die neuen Variablen nicht mehr im Code fest hinterlegen, sondern kann diese in einer JSON Datei hinterlegen.
Evtl. kann man das ja so bauen, dass man selbst Variablen in einem Konfigurator hinzufügen kann, mal schauen.
Die JSON Datei wird so aussehen:
{
"temperature": {
"name": "Temperature",
"type": 2,
"profile": "~Temperature",
"action": 0
},
"linkquality": {
"name": "Linkquality",
"type": 1,
"profile": "",
"action": 0
},
"humidity": {
"name": "Humidity",
"type": 2,
"profile": "",
"action": 0
},
"pressure": {
"name": "Pressure",
"type": 2,
"profile": "",
"action": 0
},
"battery": {
"name": "Battery",
"type": 2,
"profile": "",
"action": 0
},
"voltage": {
"name": "Voltage",
"type": 2,
"profile": "",
"action": 0
},
"action": {
"name": "Action",
"type": 3,
"profile": "",
"action": 0
},
"click": {
"name": "Click",
"type": 3,
"profile": "",
"action": 0
},
"brightness": {
"name": "Brightness",
"type": 2,
"profile": "~Intensity.255",
"action": 1
},
"occupancy": {
"name": "Occupancy",
"type": 0,
"profile": "",
"action": 0
},
"illuminance": {
"name": "Illuminance",
"type": 1,
"profile": "",
"action": 0
},
"water_leak": {
"name": "Water Leak",
"type": 0,
"profile": "",
"action": 0
},
"contact": {
"name": "Contact",
"type": 0,
"profile": "",
"action": 0
},
"smoke": {
"name": "Smoke",
"type": 0,
"profile": "",
"action": 0
},
"battery_low": {
"name": "Battery Low",
"type": 0,
"profile": "",
"action": 0
},
"angle": {
"name": "Angle",
"type": 1,
"profile": "",
"action": 0
},
"angle_x": {
"name": "Angle X",
"type": 1,
"profile": "",
"action": 0
},
"angle_y": {
"name": "Angle Y",
"type": 1,
"profile": "",
"action": 0
},
"angle_x_absolute": {
"name": "Angle X Absolute",
"type": 1,
"profile": "",
"action": 0
},
"angle_y_absolute": {
"name": "Angle Y Absolute",
"type": 1,
"profile": "",
"action": 0
},
"angle_z": {
"name": "Angle Z",
"type": 1,
"profile": "",
"action": 0
},
"from_side": {
"name": "From Side",
"type": 1,
"profile": "",
"action": 0
},
"to_side": {
"name": "To Side",
"type": 1,
"profile": "",
"action": 0
},
"state": {
"name": "State",
"type": 0,
"profile": "~Switch",
"action": 1,
"boolean": {
"true": "ON",
"false": "OFF"
}
}
}
Zur Erklärung:
Name: Ist der Name der Variable
Type: Typ der Variable (0 Boolean, 1 Integer, 2 Float, 3 String)
Profile: Profil der Variable
Action: 1 Variable hat eine Aktion, 0 Variable hat keine Aktion
Boolean : true Mapping von ON auf True und false Mapping von OFF auf false.
Somit können auch mal schnell selbst Variablen ergänzt werden, die nur lesend sind. Variablen mit Aktionen müssen immer noch von mir hinzugefügt werden, da hierfür im Hintergrund noch eine Funktion geschrieben werden muss.
Variablen die selbst in der JSON Datei eingetragen werden, werden bei einem Modul Update überschrieben, von daher wäre es dann ratsam direkt hier zu posten, welche Variable hinzugefügt wurde oder einen Pull Request auf Github zu machen.
Wir können auch zusammen noch darüber diskutieren, ob diese Änderung sinnvoll ist, ich muss es nicht so umsetzen. Also wenn noch jemand Einwände hat, dann kann er diese gerne äußern!
Grüße,
Kai