Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
Nein nicht direkt. Das MQTT Plugin ist dazu da um Payloads für MQTT Topics zu senden oder zu empfangen. Eine Payload ist nach MQTT Standard erstmal nur ein Array of Bytes. Durch die Definition des Items als str, wird die Payload bereits als String gespeichert.
Falls die Payload Daten im Json Format enthält und Du das Item als dict definierst, kannst Du entsprechende Teile in andere Items schreiben, indem Du mit dem on_change Attribut den gewünschten Teil der Payload in ein anderes Item schreibst. Du kannst natürlich auch von dem anderen Item aus per eval den entsprechenden Teil aus der Payload extrahieren. Die beiden Varianten sind normales Item Handling und keine Plugin Funktionalität.
Viele Grüße
Martin
There is no cloud. It's only someone else's computer.
Mit 'eval' und 'on_change' kann man da relativ viel machen um die einzelnen Werte aus dem JSON auf einzelne Items zuordnen.
Auf die Art habe ich für meine Wallbox erst über MQTT die gesamte Payload (gesamtes JSON) einem Item zugeordnet und dann mit 'on_change' einzele Werte "ausgeholt" und auf andere Items verteilt.
Sogar das Senden von JSON mit Item-Werten über MQTT geht damit. Man muss sich ein bisschen reindenken und den Workflow mal verstanden haben, aber es geht wie gesagt vieles ohne extra ein Plugin zu basteln.
go_e:
Status:
type: dict
mqtt_topic_in: go-eCharger/999999/status
on_change:
- ..fwv = value['fwv']
- ..sse = value['sse']
- ..amp = value['amp']
- ..car = value['car']
- ..err = value['err']
- ..ast = value['ast']
- ..cbl = value['cbl']
- ..pha = value['pha']
- ..dws = value['dws']
- ..eto = value['eto']
- ..U_L1 = value['nrg'][0]
- ..U_L2 = value['nrg'][1]
- ..U_L3 = value['nrg'][2]
- ..U_N = value['nrg'][3]
- ..I_L1 = value['nrg'][4]
- ..I_L2 = value['nrg'][5]
- ..I_L3 = value['nrg'][6]
- ..P_L1 = value['nrg'][7]
- ..P_L2 = value['nrg'][8]
- ..P_L3 = value['nrg'][9]
- ..P_N = value['nrg'][10]
- ..P_SUM = value['nrg'][11]
- ..PF_L1 = value['nrg'][12]
- ..PF_L2 = value['nrg'][13]
- ..PF_L3 = value['nrg'][14]
- ..PF_N = value['nrg'][15]
fwv:
type: str
Text:
type: str
sse:
type: str
Text:
type: str
amp:
type: num
car:
type: num
err:
type: num
ast:
type: num
cbl:
type: num
pha:
type: num
dws:
type: num
eto:
type: num
U_L1:
type: num
U_L2:
type: num
U_L3:
type: num
U_N:
type: num
I_L1:
type: num
I_L2:
type: num
I_L3:
type: num
P_L1:
type: num
P_L2:
type: num
P_L3:
type: num
P_N:
type: num
P_SUM:
type: num
PF_L1:
type: num
PF_L2:
type: num
PF_L3:
type: num
PF_N:
type: num
Mit on_change werden einzelne interessante JSON Daten extrahiert und in eigene items geschrieben. Vor allem die Liste 'nrg' ist interessant, wie man auf die einzelnen Elemente zugreift.
Moin zusammen,
ich kann nun per MQTT einen JSON String auswerten und meine Items setzen. Allerdings ist mir noch nicht klar, wie das umgekehrt mit dem Schreiben gehen kann. Könnte mir da noch einer einen Tipp geben.
loeserman Die MQTT API meines Türschlosses hat topics, auf die ich Werte publishen darf. Das geht dann bspw so:
self.publish_topic('nuki/%s/lockAction' % (nuki_id), value)
Lokal habe ich jetzt das Plugin mit Bridge UND MQTT am Laufen. Leider ist mir jetzt aufgefallen, dass ich ja auch noch das Ganze so testen muss, dass es auch nur mit einem von beiden gehen muss :-). Bin weiter dran.
Update: die neue Version des Plugins ist im DEVELOP verfügbar. Man kann es jetzt via Bridge, MQTT oder beidem nutzen, bspw. falls man ein altes und ein neues Schloss hat. Default ist der klassische Betrieb via Bridge.
Gibts hier eigentlich noch Tester? Dann bitte mal testen, egal ob mit neuem oder altem Nuki.
Ich würde gerne aus meinem Wechselrichter Informationen über mqtt auslesen.
"http://192.168.0.41/solar_api/v1/GetPowerFlowRealtimeData.fcgi" gibt mir einen JSON zurück.
Du liest nicht über MQTT aus, sondern über HTTP. Dazu müsste eine Logik oder das jsonread-Plugin besser geeignet sein.
Für MQTT muss dein Gerät mit einem MQTT-Broker reden, und das MQTT-Plugin ermöglicht dir, Daten vom Broker abzurufen. Ist auch nicht schwer, aber wenn du die json-Daten direkt abrufen kannst, ist das sogar noch weniger Aufwand, solange du nichts anderes mit MQTT hast.
Ich würde gerne aus meinem Wechselrichter Informationen über mqtt auslesen.
"http://192.168.0.41/solar_api/v1/GetPowerFlowRealtimeData.fcgi" gibt mir einen JSON zurück.
...
Hi fuxl66
also ich kann Dir an dieser Stelle sagen, wie ich es gelöst habe. So wie es aussieht hast Du einen Wechselrichter von Fronius.
R02:
# ------------------------------------------------------------------------------------------------------------------------------------
# R02.SM1 - SmartMeter
# ------------------------------------------------------------------------------------------------------------------------------------
SM1:
SOLARAPI:
UPDATE_FLAG_3SEC:
name: UPDATE_FLAG_3SEC [], Zeigt die Letzte Änderung für 3sek an
type: bool
value: 0
autotimer: 3s = 0 # Rücksetzen nach 3sek, dieser setzt bei updated_by den String "Autotimer:None", diesen frage ich bei eval mit ab, da ansonsten eval immer gewinnt, wenn hier nur 1 stehen würde.
eval: 1 if (sh...UPDATE_FLAG_3SEC.updated_by().find('Autotimer') != -1) else 0
eval_trigger:
- ..INFO_USER_TIMESTAMP
enforce_updates: True
on_update: .TIME = sh...UPDATE_FLAG_3SEC.last_update().strftime('%H:%M:%S')
TIME:
remark: Wann zuletzt ein Datensatz gelesen (soll dazu dienen im Tablet sehen zu können, ob die Zeit zu der aktuelle Uhrzeit passt)
name: Letztes Update um
type: str
value: '---'
AC_CURRENT:
name: AC_CURRENT [A], Summe aller AC Phasenströme
type: num
cache: 'True'
#database: 'yes'
jsonread_filter@jsonread_sm1: '.Body.Data."0".Current_AC_Sum'
AC_CURRENT_PHASE_A:
name: AC_CURRENT_PHASE_A [A], AC-Strom L1
type: num
cache: 'True'
#database: 'yes'
jsonread_filter@jsonread_sm1: '.Body.Data."0".Current_AC_Phase_1'
AC_CURRENT_PHASE_B:
name: AC_CURRENT_PHASE_B [A], AC-Strom L2
type: num
cache: 'True'
#database: 'yes'
jsonread_filter@jsonread_sm1: '.Body.Data."0".Current_AC_Phase_2'
AC_CURRENT_PHASE_C:
name: AC_CURRENT_PHASE_C [A], AC-Strom L3
type: num
cache: 'True'
#database: 'yes'
jsonread_filter@jsonread_sm1: '.Body.Data."0".Current_AC_Phase_3'
AC_ENERGY_REACTIVE_CONSUMED:
name: AC_ENERGY_REACTIVE_CONSUMED [VAr], Konsumierte Blindleistung
type: num
cache: 'True'
#database: 'yes'
jsonread_filter@jsonread_sm1: '.Body.Data."0".EnergyReactive_VArAC_Sum_Consumed'
AC_ENERGY_REACTIVE_PRODUCED:
name: AC_ENERGY_REACTIVE_PRODUCED [VAr], Produzierte Blindleistung
type: num
cache: 'True'
#database: 'yes'
jsonread_filter@jsonread_sm1: '.Body.Data."0".EnergyReactive_VArAC_Sum_Produced'
AC_ENERGY_MINUS:
name: AC_ENERGY_MINUS [W], AC Energie negativ
type: num
cache: 'True'
#database: 'yes'
jsonread_filter@jsonread_sm1: '.Body.Data."0".EnergyReal_WAC_Minus_Absolute'
AC_ENERGY_PLUS:
name: AC_ENERGY_PLUS [W], AC Energie positiv
type: num
cache: 'True'
#database: 'yes'
jsonread_filter@jsonread_sm1: '.Body.Data."0".EnergyReal_WAC_Plus_Absolute'
AC_ENERGY_CONSUMED:
name: AC_ENERGY_CONSUMED [Wh], Konsumierte AC Leistung
type: num
cache: 'True'
#database: 'yes'
jsonread_filter@jsonread_sm1: '.Body.Data."0".EnergyReal_WAC_Sum_Consumed'
START_DAY_ENERGY:
name: AC_ENERGY_CONSUMED - START_DAY_ENERGY [kWh], Konsumierte AC Energie um 0Uhr
type: num
cache: 'True'
#database: 'yes'
eval: (sh.R02.SM1.SOLARAPI.AC_ENERGY_CONSUMED() / 1000)
eval_trigger:
- .TIME_TRIGGER
TIME_TRIGGER:
type: num
crontab: '0 0 * * = 1'
enforce_updates: true
ENERGY_TODAY:
name: AC_ENERGY_CONSUMED - TODAY [kWh], Konsumierte AC Energie heute
type: num
cache: 'True'
eval: ((sh.R02.SM1.SOLARAPI.AC_ENERGY_CONSUMED() / 1000) - sh.R02.SM1.SOLARAPI.AC_ENERGY_CONSUMED.START_DAY_ENERGY())
eval_trigger:
- R02.SM1.SOLARAPI.AC_ENERGY_CONSUMED
AC_ENERGY_PRODUCED:
name: AC_ENERGY_PRODUCED [Wh], Produzierte AC Leistung
type: num
cache: 'True'
#database: 'yes'
jsonread_filter@jsonread_sm1: '.Body.Data."0".EnergyReal_WAC_Sum_Produced'
START_DAY_ENERGY:
name: AC_ENERGY_PRODUCED - START_DAY_ENERGY [kWh], Produzierte AC Energie um 0Uhr
type: num
cache: 'True'
#database: 'yes'
eval: (sh.R02.SM1.SOLARAPI.AC_ENERGY_PRODUCED() / 1000)
eval_trigger:
- .TIME_TRIGGER
TIME_TRIGGER:
type: num
crontab: '0 0 * * = 1'
enforce_updates: true
ENERGY_TODAY:
name: AC_ENERGY_PRODUCED - TODAY [kWh], Produzierte AC Energie heute
type: num
cache: 'True'
eval: ((sh.R02.SM1.SOLARAPI.AC_ENERGY_PRODUCED() / 1000) - sh.R02.SM1.SOLARAPI.AC_ENERGY_PRODUCED.START_DAY_ENERGY())
eval_trigger:
- R02.SM1.SOLARAPI.AC_ENERGY_PRODUCED
AC_FREQUENCY:
name: AC_FREQUENCY [Hz], Durchschnittsfrequenz
type: num
cache: 'True'
#database: 'yes'
jsonread_filter@jsonread_sm1: '.Body.Data."0".Frequency_Phase_Average'
AC_POWER:
name: AC_POWER [W], Wirkleistung (P) gesamt
type: num
cache: 'True'
#database: 'yes'
jsonread_filter@jsonread_sm1: '.Body.Data."0".PowerReal_P_Sum'
AC_POWER_PHASE_A:
name: AC_POWER_PHASE_A [W], Wirkleistung (P) L1
type: num
cache: 'True'
#database: 'yes'
jsonread_filter@jsonread_sm1: '.Body.Data."0".PowerReal_P_Phase_1'
AC_POWER_PHASE_B:
name: AC_POWER_PHASE_B [W], Wirkleistung (P) L2
type: num
cache: 'True'
#database: 'yes'
jsonread_filter@jsonread_sm1: '.Body.Data."0".PowerReal_P_Phase_2'
AC_POWER_PHASE_C:
name: AC_POWER_PHASE_C [W], Wirkleistung (P) L3
type: num
cache: 'True'
#database: 'yes'
jsonread_filter@jsonread_sm1: '.Body.Data."0".PowerReal_P_Phase_3'
AC_POWER_APPARENT:
name: AC_POWER_APPARENT [VA], Scheinleistung (S) gesamt
type: num
cache: 'True'
#database: 'yes'
jsonread_filter@jsonread_sm1: '.Body.Data."0".PowerApparent_S_Sum'
AC_POWER_APPARENT_PHASE_A:
name: AC_POWER_APPARENT_PHASE_A [VA], Scheinleistung (S) L1
type: num
cache: 'True'
#database: 'yes'
jsonread_filter@jsonread_sm1: '.Body.Data."0".PowerApparent_S_Phase_1'
AC_POWER_APPARENT_PHASE_B:
name: AC_POWER_APPARENT_PHASE_B [VA], Scheinleistung (S) L2
type: num
cache: 'True'
#database: 'yes'
jsonread_filter@jsonread_sm1: '.Body.Data."0".PowerApparent_S_Phase_2'
AC_POWER_APPARENT_PHASE_C:
name: AC_POWER_APPARENT_PHASE_C [VA], Scheinleistung (S) L3
type: num
cache: 'True'
#database: 'yes'
jsonread_filter@jsonread_sm1: '.Body.Data."0".PowerApparent_S_Phase_3'
AC_POWER_REACTIVE:
name: AC_POWER_REACTIVE [VAr], Blindleistung (Q) gesamt
type: num
cache: 'True'
#database: 'yes'
jsonread_filter@jsonread_sm1: '.Body.Data."0".PowerReactive_Q_Sum'
AC_POWER_REACTIVE_PHASE_A:
name: AC_POWER_REACTIVE_PHASE_A [VAr], Blindleistung (Q) L1
type: num
cache: 'True'
#database: 'yes'
jsonread_filter@jsonread_sm1: '.Body.Data."0".PowerReactive_Q_Phase_1'
AC_POWER_REACTIVE_PHASE_B:
name: AC_POWER_REACTIVE_PHASE_B [VAr], Blindleistung (Q) L2
type: num
cache: 'True'
#database: 'yes'
jsonread_filter@jsonread_sm1: '.Body.Data."0".PowerReactive_Q_Phase_2'
AC_POWER_REACTIVE_PHASE_C:
name: AC_POWER_REACTIVE_PHASE_C [VAr], Blindleistung (Q) L3
type: num
cache: 'True'
#database: 'yes'
jsonread_filter@jsonread_sm1: '.Body.Data."0".PowerReactive_Q_Phase_3'
AC_POWER_FACTOR:
name: AC_POWER_FACTOR [-1..1], Leistungsfaktor gesamt, Eine reine Wirklast hat den Power Factor 1 und einen Phasenwinkel von 0 Grad (d. h., die Leistung ist hundertprozentig effizient). Eine reine Blindlast hat den Power Factor 0 und einen Phasenwinkel von 90 Grad.
type: num
cache: 'True'
#database: 'yes'
jsonread_filter@jsonread_sm1: '.Body.Data."0".PowerFactor_Sum'
AC_POWER_FACTOR_PHASE_A:
name: AC_POWER_FACTOR_PHASE_A [-1..1], Leistungsfaktor L1, Eine reine Wirklast hat den Power Factor 1 und einen Phasenwinkel von 0 Grad (d. h., die Leistung ist hundertprozentig effizient). Eine reine Blindlast hat den Power Factor 0 und einen Phasenwinkel von 90 Grad.
type: num
cache: 'True'
jsonread_filter@jsonread_sm1: '.Body.Data."0".PowerFactor_Phase_1'
AC_POWER_FACTOR_PHASE_B:
name: AC_POWER_FACTOR_PHASE_B [-1..1], Leistungsfaktor L2, Eine reine Wirklast hat den Power Factor 1 und einen Phasenwinkel von 0 Grad (d. h., die Leistung ist hundertprozentig effizient). Eine reine Blindlast hat den Power Factor 0 und einen Phasenwinkel von 90 Grad.
type: num
cache: 'True'
jsonread_filter@jsonread_sm1: '.Body.Data."0".PowerFactor_Phase_2'
AC_POWER_FACTOR_PHASE_C:
name: AC_POWER_FACTOR_PHASE_C [-1..1], Leistungsfaktor L3, Eine reine Wirklast hat den Power Factor 1 und einen Phasenwinkel von 0 Grad (d. h., die Leistung ist hundertprozentig effizient). Eine reine Blindlast hat den Power Factor 0 und einen Phasenwinkel von 90 Grad.
type: num
cache: 'True'
jsonread_filter@jsonread_sm1: '.Body.Data."0".PowerFactor_Phase_3'
AC_VOLTAGE_PHASE_A_TO_N:
name: AC_VOLTAGE_PHASE_A_TO_N [V], AC-Spannung L1
type: num
cache: 'True'
#database: 'yes'
jsonread_filter@jsonread_sm1: '.Body.Data."0".Voltage_AC_Phase_1'
AC_VOLTAGE_PHASE_B_TO_N:
name: AC_VOLTAGE_PHASE_B_TO_N [V], AC-Spannung L2
type: num
cache: 'True'
#database: 'yes'
jsonread_filter@jsonread_sm1: '.Body.Data."0".Voltage_AC_Phase_2'
AC_VOLTAGE_PHASE_C_TO_N:
name: AC_VOLTAGE_PHASE_C_TO_N [V], AC-Spannung L3
type: num
cache: 'True'
#database: 'yes'
jsonread_filter@jsonread_sm1: '.Body.Data."0".Voltage_AC_Phase_3'
AC_VOLTAGE_PHASE_A_TO_B:
name: AC_VOLTAGE_PHASE_A_TO_B [V], AC-Spannung L1..L2
type: num
cache: 'True'
jsonread_filter@jsonread_sm1: '.Body.Data."0".Voltage_AC_PhaseToPhase_12'
AC_VOLTAGE_PHASE_B_TO_C:
name: AC_VOLTAGE_PHASE_B_TO_C [V], AC-Spannung L2..L3
type: num
cache: 'True'
jsonread_filter@jsonread_sm1: '.Body.Data."0".Voltage_AC_PhaseToPhase_23'
AC_VOLTAGE_PHASE_C_TO_A:
name: AC_VOLTAGE_PHASE_C_TO_A [V], AC-Spannung L3..L1
type: num
cache: 'True'
jsonread_filter@jsonread_sm1: '.Body.Data."0".Voltage_AC_PhaseToPhase_31'
INFO_MANUFACTURER:
name: INFO_MANUFACTURER [], Hersteller Name
type: str
cache: 'True'
jsonread_filter@jsonread_sm1: '.Body.Data."0".Details.Manufacturer'
INFO_MODEL:
name: INFO_MODEL [], Modell Name
type: str
cache: 'True'
jsonread_filter@jsonread_sm1: '.Body.Data."0".Details.Model'
INFO_SERIEALNO:
name: INFO_SERIEALNO [], Seriennummer
type: str
cache: 'True'
jsonread_filter@jsonread_sm1: '.Body.Data."0".Details.Serial'
INFO_CODE:
name: INFO_CODE [], Code (normalerweise 0)
type: num
cache: 'True'
jsonread_filter@jsonread_sm1: '.Head.Status.Code'
INFO_REASON:
name: INFO_REASON [], Grund
type: str
cache: 'True'
jsonread_filter@jsonread_sm1: '.Head.Status.Reason'
INFO_USER_MESSAGE:
name: INFO_USER_MESSAGE [], Meldung
type: str
cache: 'True'
jsonread_filter@jsonread_sm1: '.Head.Status.UserMessage'
INFO_USER_TIMESTAMP:
name: INFO_USER_TIMESTAMP [], Datum und Uhrzeit
type: str
cache: 'True'
jsonread_filter@jsonread_sm1: '.Head.Timestamp'
Wechselrichter
items_pv.yaml
Code:
R03:
# ------------------------------------------------------------------------------------------------------------------------------------
# R03.WR1 - 10kW
# ------------------------------------------------------------------------------------------------------------------------------------
WR1:
SOLARAPI:
UPDATE_FLAG_3SEC:
name: UPDATE_FLAG_3SEC [], Zeigt die Letzte Änderung für 3sek an
type: bool
value: 0
autotimer: 3s = 0 # Rücksetzen nach 3sek, dieser setzt bei updated_by den String "Autotimer:None", diesen frage ich bei eval mit ab, da ansonsten eval immer gewinnt, wenn hier nur 1 stehen würde.
eval: 1 if (sh...UPDATE_FLAG_3SEC.updated_by().find('Autotimer') != -1) else 0
eval_trigger:
- ..INFO_USER_TIMESTAMP
enforce_updates: True
on_update: .TIME = sh...UPDATE_FLAG_3SEC.last_update().strftime('%H:%M:%S')
TIME:
remark: Wann zuletzt ein Datensatz gelesen (soll dazu dienen im Tablet sehen zu können, ob die Zeit zu der aktuelle Uhrzeit passt)
name: Letztes Update um
type: str
value: '---'
INFO_SERIEALNO:
name: INFO_SERIEALNO [], Seriennummer
type: str
cache: 'True'
jsonread_filter@jsonread_wr1_device: '.Body.Data.Inverter.Serial'
INFO_USER_TIMESTAMP:
name: INFO_USER_TIMESTAMP [], Datum und Uhrzeit
type: str
cache: 'True'
jsonread_filter@jsonread_wr1_device: '.Head.Timestamp'
Ich nutze die SOLARAPI aber nur für wenige Teile der Wechselrichter. Lediglich das Smartmeter und die Batterie liefern hierüber mehr daten. Das meiste lese ich per odbus TCP. Alternativ kannst Du im WR Modbus TCP aktivieren. Dann geht auch folgendes:
loeserman Die MQTT API meines Türschlosses hat topics, auf die ich Werte publishen darf. Das geht dann bspw so:
self.publish_topic('nuki/%s/lockAction' % (nuki_id), value)
publish_topic kommt aus dem MQTTPlugin
Hi psilo
Danke für deine schnelle Antwort. Bin erst jetzt dazu gekommen und so ganz habe ich das noch nicht verstandet. Geht das dann nur aus einer Logik heraus? Oder kann ich das auch direkt bei den Items dranheften und mir eine extra Logik dann schenken? Wir würde der Befehl dann aussehen, wenn ich zum Beispiel folgenden payload schreiben möchte?
command/CC8DA220AAAA/control {'fanstep':2}
oder
command/CC8DA220AAAA/control {'swingh': False}
Der Wert 2 oder False soll dann direkt das Item sein, welches ich aus der VISU umsetze.
Hi fuxl66
also ich kann Dir an dieser Stelle sagen, wie ich es gelöst habe. So wie es aussieht hast Du einen Wechselrichter von Fronius.
Danke dir. Ich lese meinen Fronius Wechselrichter ebenfalls mit dem json plugin aus. Ich wollte "einfach" mal das mqtt plugin testen.
Ich hab mittlerweile ein neues Spielzeug. EVCC. Ich habe es geschafft Wert via mqtt mit SHNG aus EVCC auszulesen. EVCC läuft noch nicht 100%ig weil ich noch auf meine Wallbox warte.
Eine Frage dazu...was bedeutet "broker_monitoring = true"?
Ich finde im Admin nichts entsprechendes. gibt es dafür eine Art Web Interface oder wie ist das zu verstehen?
Ich komme mal zurück auf das Auslesen meiner Klimaanlage. Das funktioniert nun sehr gut mit dem FAIKIN Modul. Falls es einen interessiert oder jemand im Forum nach dem Stichwort FAIKIN sucht. So habe ich es nun gelöst und kann so auch die Klimageräte ansteuern.
items.yaml
Code:
R15:
FAIKIN:
STATE:
type: dict
mqtt_topic_in: "state/<euer FAIKIN Netzwerkname>/status"
on_change:
- .TEMP_LIQUID = value['liquid']
- .TEMP_OUTSIDE = value['outside']
- .TEMP_INSIDE = value['home']
- .ONLINE = value['online']
- .FAN_RPM = value['fanrpm']
- .STATUS_HEAT = value['heat']
- .STATUS_POWER_ON = value['power']
- .STATUS_DEMAND = value['demand']
- .COMP = value['comp']
- .ENERGY = value['Wh'] / 1000
- .STATUS_MODE = value['mode']
- .SET_TEMP = value['temp']
- .STATUS_FANSTEP = value['fan']
- .STATUS_SWINGH = value['swingh']
- .STATUS_SWINGV = value['swingv']
- .STATUS_ECONO = value['econo']
- .STATUS_POWERFUL= value['powerful']
- .STATUS_COMFORT = value['comfort']
- .STATUS_STREAMER = value['streamer']
- .STATUS_SENSOR = value['sensor']
- .STATUS_QUIET = value['quiet']
- ..POWER = value['power']
- ..SET_TEMP = value['temp']
- ..DEMAND = value['demand']
- ..POWERFUL= value['powerful']
- ..ECONO = value['econo']
- ..STREAMER = value['streamer']
- ..SENSOR = value['sensor']
- ..QUIET = value['quiet']
- ..COMFORT = value['comfort']
- ..MODE = value['mode']
- ..FAN = value['fan']
TEMP_LIQUID:
type: num
TEMP_OUTSIDE:
type: num
TEMP_INSIDE:
type: num
ONLINE:
type: bool
FAN_RPM:
type: num
STATUS_HEAT:
type: bool
STATUS_POWER_ON:
type: bool
STATUS_DEMAND:
type: num
COMP:
type: num
ENERGY:
type: num
STATUS_MODE:
type: str
SET_TEMP:
type: num
STATUS_FANSTEP:
type: str
STATUS_SWINGH:
type: bool
enforce_updates: true
STATUS_SWINGV:
type: bool
enforce_updates: true
STATUS_ECONO:
type: bool
STATUS_POWERFUL:
type: bool
STATUS_COMFORT:
type: bool
STATUS_STREAMER:
type: bool
STATUS_SENSOR:
type: bool
STATUS_QUIET:
type: bool
FORCE_UPDATE_STATUS:
name: Faikin erzwingen nochmal den Status mit den aktuellen Daten zu senden.
mqtt_topic_out: "command/R33-Faikin-CC8DA220EF54/status"
type: bool
enforce_updates: 'True'
POWER:
name: Faikin Steuerung fuer den Einschaltzustand (true, false), Status wird vom Item STATE gesetzt.
mqtt_topic_out: "command/<euer FAIKIN Netzwerkname>/power"
type: bool
SET_TEMP:
name: Solltemperatur, Istwert wird von STATE gesetzt
mqtt_topic_out: "command/<euer FAIKIN Netzwerkname>/temp"
type: num
DEMAND:
name: Bedarfssteuerung (40, 45, 50, .., 95, 100), Istwert wird von STATE gesetzt
mqtt_topic_out: "command/<euer FAIKIN Netzwerkname>/demand"
type: num
POWERFUL:
name: Faikin Steuerung fuer den Powerful Modus (true, false), Status wird vom Item STATE gesetzt.
mqtt_topic_out: "command/<euer FAIKIN Netzwerkname>/powerful"
type: bool
ECONO:
name: Faikin Steuerung fuer den Eco Modus (true, false), Status wird vom Item STATE gesetzt.
mqtt_topic_out: "command/<euer FAIKIN Netzwerkname>/econo"
type: bool
STREAMER:
name: Faikin Steuerung fuer den Streamer (true, false), Status wird vom Item STATE gesetzt.
mqtt_topic_out: "command/<euer FAIKIN Netzwerkname>/streamer"
type: bool
SENSOR:
name: Faikin Steuerung fuer das Sensorauge (true, false), Status wird vom Item STATE gesetzt.
mqtt_topic_out: "command/<euer FAIKIN Netzwerkname>/sensor"
type: bool
QUIET:
name: Faikin Steuerung fuer den Leise Ausseneinheit Modus (true, false), Status wird vom Item STATE gesetzt.
mqtt_topic_out: "command/<euer FAIKIN Netzwerkname>/quiet"
type: bool
COMFORT:
name: Faikin Steuerung fuer die Lamellensteuerung Comfort (true, false), Status wird vom Item STATE gesetzt.
mqtt_topic_out: "command/<euer FAIKIN Netzwerkname>/comfort"
type: bool
FAN:
name: Faikin Steuerung fuer den Fan (1, 2, 3, 4, 5, Q, A), Status wird vom Item STATE gesetzt.
type: str
COMMAND:
name: Faikin Steuerung fuer den Fan - MQTT Sendekommandos (1, 2, 3, 4, 5, night, auto), Status wird vom Item STATE gesetzt. Standard is auto, Ansteuerung ueber (1, 2, 3, 4, 5, Q, A)
mqtt_topic_out: "command/<euer FAIKIN Netzwerkname>/fan"
type: str
eval: ("1") if (value == '1') else ("2") if (value == '2') else ("3") if (value == '3') else ("4") if (value == '4') else ("5") if (value == '5') else ("night") if (value == 'Q') else ("auto") if (value == 'A') else ("auto")
eval_trigger:
- ...FAN
MODE:
name: Faikin Steuerung fuer den Mode (A, H, C, D, F), Status wird vom Item STATE gesetzt. Wert wird gecached, so dass bei Neustart die Klimaanlage nicht eingeschaltet wird auf Grund der Aenderung von "" auf "xyz"
type: str
cache: 'True'
COMMAND:
name: Faikin Steuerung fuer den Mode - MQTT Sendekommandos (auto, heat, cool, dry, fan), Status wird vom Item STATE gesetzt. Standard is cool, Ansteuerung ueber (A, H, C, D, F). Wert wird gecached, so dass bei Neustart die Klimaanlage nicht eingeschaltet wird auf Grund der Aenderung von "" auf "xyz"
mqtt_topic_out: "command/<euer FAIKIN Netzwerkname>/mode"
type: str
cache: 'True'
eval: ("auto") if (value == 'A') else ("heat") if (value == 'H') else ("cool") if (value == 'C') else ("dry") if (value == 'D') else ("fan") if (value == 'F') else ("cool")
eval_trigger: ...MODE
SWING:
name: Faikin Steuerung fuer die Lamellenansteuerung - MQTT Sendekommandos (H, V, H+V), Status wird vom Item STATE gesetzt. Info - Comfort beeinflusst V und umgekehrt, Ansteuerung ueber (H, V, H+V)
mqtt_topic_out: "command/<euer FAIKIN Netzwerkname>/swing"
type: str
eval: value if ((value != True) and (value != False)) else ("H+V") if ((sh...STATE.STATUS_SWINGH() == True) and (sh...STATE.STATUS_SWINGV() == True)) else ("H") if (sh...STATE.STATUS_SWINGH() == True) else ("V") if (sh...STATE.STATUS_SWINGV() == True) else ("Off")
eval_trigger:
- ..STATE.STATUS_SWINGH
In der VISU kann man es dann folgendermaßen nutzen
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar