openHAB2 und China-Steckdosen ChoiFoo bzw. Jinvoo

Geflasht oder ungeflasht ...

Moderatoren: Cyrelian, udo1toni

Benutzeravatar
Joe
Beiträge: 200
Registriert: 10. Okt 2018 12:22
Answers: 0
Wohnort: bei Mannheim

Re: openHAB2 und China-Steckdosen ChoiFoo bzw. Jinvoo

Beitrag von Joe »

Hi Udo,
ich leider noch nicht so fit, mir helfen aus diesem Grund am besten Beispiele. Der Begriff Ausformulieren hilft mir leider an der Stelle nicht weiter...sorry mir würde einfach ein Beispiel von zwei S20 in einer Gruppe helfen.

Benutzeravatar
sihui
Beiträge: 1827
Registriert: 11. Apr 2018 19:03
Answers: 21

Re: openHAB2 und China-Steckdosen ChoiFoo bzw. Jinvoo

Beitrag von sihui »

Joe hat geschrieben: 14. Dez 2018 07:26 Hi Udo,
ich leider noch nicht so fit, mir helfen aus diesem Grund am besten Beispiele. Der Begriff Ausformulieren hilft mir leider an der Stelle nicht weiter...sorry mir würde einfach ein Beispiel von zwei S20 in einer Gruppe helfen.
Du hast leider deine Sitemap Konfiguration nicht geposted, dann wäre bestimmt ein konkretes Beispiel gefolgt. So kann man dir leider nur einen allgemeinen Tipp geben und auf die offizielle Doku verweisen:

https://www.openhab.org/docs/configurat ... emaps.html

Also nicht die Gruppe

Code: Alles auswählen

Group item=<itemname> 
auf die Sitemap bringen sondern alle einzelnen Items der Gruppe, z.B.

Code: Alles auswählen

Switch item=<itemname1>
Switch item=<itemname2>
Switch item=<itemname3>
openHAB3 mit Zwave, Alexa, ESPEasy, MQTT, Logitech Harmony, Philips HUE und ZigBee Hardware auf Proxmox VE.

Benutzeravatar
Joe
Beiträge: 200
Registriert: 10. Okt 2018 12:22
Answers: 0
Wohnort: bei Mannheim

Re: openHAB2 und China-Steckdosen ChoiFoo bzw. Jinvoo

Beitrag von Joe »

Hi zusammen,
so habe das ganze jetzt nochmals etwas umgestellt, leider funktioniert die Anzeige in Bezug auf den Wifi Status immer noch nicht.
Wäre cool wenn jemand eine Idee hat bzw. einen Lösungsvorschlag.

Code: Alles auswählen

// Gruppen
Group gDoseS20 // Gruppe Sonoff Dose S20

// Geräte
Group egSonoffDose01  "Büro & Studio"  (gDoseS20) //Dose01
Group egSonoffDose02  "Lichterkette"   (gDoseS20) //Dose02
Group egSonoffDose03  "Schneemann"     (gDoseS20) //Dose03
Group egSonoffDose04  "Frei"           (gDoseS20) //Dose04

//Sonoff S20 Büro & Studio                                                                                                                          
Switch SonoffDose01_egSonoffDose01     "Studio"                 <light>   (egSonoffDose01) { mqtt=">[JoesSmartHome:cmnd/SonoffDose01/power:command:*:default], <[JoesSmartHome:stat/SonoffDose01/POWER:state:default]" }
// Wifi Signal 
Number Wifi_egSonoffDose01             "Wifi level [%d %%]"     <network> (egSonoffDose01) { mqtt="<[JoesSmartHome:tele/SonoffDose01/STATE:state:JSONPATH($.Wifi.RSSI)]" }
//Messages Sonoff Module
String mqtte_egSonoffDose01            "Status: [%s]"           <status>  (egSonoffDose01) { mqtt="<[JoesSmartHome:tele/SonoffDose01/INFO1:state:default],<[JoesSmartHome:stat/SonoffDose01/STATUS2:state:default],<[JoesSmartHome:stat/SonoffDose01/RESULT:state:default]" }

//Sonoff S20 Lichterkette
Switch SonoffDose02_egSonoffDose02     "Lichterkette"           <light>    (egSonoffDose02) { mqtt=">[JoesSmartHome:cmnd/SonoffDose02/power:command:*:default], <[JoesSmartHome:stat/SonoffDose02/POWER:state:default]" }
// Wifi Signal 
Number Wifi_egSonoffDose02             "Wifi level [%d %%]"     <network>  (egSonoffDose02) { mqtt="<[JoesSmartHome:tele/SonoffDose02/STATE:state:JSONPATH($.Wifi.RSSI)]" }
//Messages Sonoff Module
String mqtt_egSonoffDose02             "Status: [%s]"           <status>   (egSonoffDose02) { mqtt="<[JoesSmartHome:tele/SonoffDose02/INFO1:state:default],<[JoesSmartHome:stat/SonoffDose02/STATUS2:state:default],<[JoesSmartHome:stat/SonoffDose02/RESULT:state:default]" }

//Sonoff S20 Schneemann
Switch SonoffDose03_egSonoffDose03     "Schneemann"             <light>   (egSonoffDose03) { mqtt=">[JoesSmartHome:cmnd/SonoffDose03/power:command:*:default], <[JoesSmartHome:stat/SonoffDose03/POWER:state:default]" }
// Wifi Signal 
Number Wifi_egSonoffDose03             "Wifi level [%d %%]"     <network> (egSonoffDose03) { mqtt="<[JoesSmartHome:tele/SonoffDose03/STATE:state:JSONPATH($.Wifi.RSSI)]" }
//Messages Sonoff Module
String mqtt_egSonoffDose03             "Status: [%s]"          <status>  (egSonoffDose03) { mqtt="<[JoesSmartHome:tele/SonoffDose03/INFO1:state:default],<[JoesSmartHome:stat/SonoffDose03/STATUS2:state:default],<[JoesSmartHome:stat/SonoffDose03/RESULT:state:default]" }

Schalter und Messages Sonoff Module geht.
Büro &amp; Studio.jpg
Danke
Joe
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Benutzeravatar
udo1toni
Beiträge: 13989
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: openHAB2 und China-Steckdosen ChoiFoo bzw. Jinvoo

Beitrag von udo1toni »

Ich hab bei mir tele/*/STATE als String Item definiert und zeige die einzelnen Werte mittels Label an:

Code: Alles auswählen

String mqttSonoffT1state     "SOnOff T1 [JSONPATH($.Wifi.RSSI):%s %%]"   (Gmqtt)   { mqtt="<[mosquitto:tele/sonoff_t1/STATE:state:default]" }
das hat den Vorteil, dass ich im der Sitemap auch die anderen Werte anzeigen kann:

Code: Alles auswählen

Text item=mqttSonoffT1state label="SOnOff T1 FS [JSONPATH($.Wifi.RSSI):%s%%]"
Text item=mqttSonoffT1state label="SOnOff T1 MAC [JSONPATH($.Wifi.APMac):%s]"
Text item=mqttSonoffT1state label="SOnOff T1 Uptime [JSONPATH($.Uptime):%s]"
Ich bin mir auch nicht sicher, ob JSON überhaupt eine Zahl liefert, bzw. ob openHAB den zurückgelieferten Status als Zahl interpretieren kann. Falls Du Wert auf eine Zahl legst, könnte es sein, dass Du ein Proxy Item mit einer Rule verwenden musst, in der Du den String, der nur Ziffern enthält, in eine Dezimalzahl umrechnen lässt.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Benutzeravatar
Joe
Beiträge: 200
Registriert: 10. Okt 2018 12:22
Answers: 0
Wohnort: bei Mannheim

Re: openHAB2 und China-Steckdosen ChoiFoo bzw. Jinvoo

Beitrag von Joe »

Hi Udo,
Danke für den Hinweis. Leider bekomme ich nur Striche angezeigt.
Hast Du eine Idee was der Fehler sein könnte?
VG
Joe

Benutzeravatar
udo1toni
Beiträge: 13989
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: openHAB2 und China-Steckdosen ChoiFoo bzw. Jinvoo

Beitrag von udo1toni »

Wie sieht denn aktuell das Item aus?
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Benutzeravatar
Joe
Beiträge: 200
Registriert: 10. Okt 2018 12:22
Answers: 0
Wohnort: bei Mannheim

Re: openHAB2 und China-Steckdosen ChoiFoo bzw. Jinvoo

Beitrag von Joe »

Moin,
mein ITEM schaut wie folgt aus:

Code: Alles auswählen

String mqttSonoffDose01state            "Wifi level neu [JSONPATH($.Wifi.RSSI):%s %%]"   <network> (egSonoffDose01) { mqtt="<[JoesSmartHome:tele/SonoffDose01/STATE:state:default]" }
SITEMAP

Code: Alles auswählen

		Frame label="Sonoff Schalter" {
			Group item=SonoffEG label="Sonoff POW" icon="sonoff_pow" 
			Group item=Basic    label="Sonoff Basic" icon="sonoff_basic"
			Group item=gDoseS20 label="Sonoff S20" icon="sonoff_s20" 
			Text item=mqttSonoffDose01state label="SonoffDose01 FS [JSONPATH($.Wifi.RSSI):%s%%]"
			Text item=mqttSonoffDose01state label="SonoffDose01 MAC [JSONPATH($.Wifi.APMac):%s]"
			Text item=mqttSonoffDose01state label="SonoffDose01 Uptime [JSONPATH($.Uptime):%s]"
S20-Status01.jpg
sag mal gibt es eine Liste welches Sonoff Teilchen welche Befehle verarbeiten / weitergeben kann bzw. was wie im MQTT ankommt / durch geht?
Kannst Du mir sagen wie ich im MQTT abfragen kann, was dort von den Sonoff Teilen ankommt?
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Benutzeravatar
Joe
Beiträge: 200
Registriert: 10. Okt 2018 12:22
Answers: 0
Wohnort: bei Mannheim

Re: openHAB2 und China-Steckdosen ChoiFoo bzw. Jinvoo

Beitrag von Joe »

leider hat das alles mit den Gruppen usw. nicht funktioniert wie ich es wollte.
Habe es jetzt ohne Gruppen gelöst, allerdings geht die Geschichte mit dem Wifi Status der Sonoff S20 Teilchen immer noch nicht.
Somit bin ich immer noch an dem Punkt bei dem ich vor 2 Tagen angefangen habe.
Sollte jemand eine Idee haben was ich noch machen könnte oder was fehlt um den Wifi Status anzeigen zu können, würde ich mich sehr freuen.

Code: Alles auswählen

		Frame label="Sonoff Schalter" {
				Frame label="Studio" {
					Switch item=SonoffDose01  label="Power" icon="light"
					Text item=Wifi01   label="Wifi level [%d %%]" icon="network"
					Default item=Alive01  label="Alive" 
					Text item=mqtt01  label="Status: [%s]" icon="status"
				}
				Frame label="Lichterkette" {
					Switch item=SonoffDose02  label="Power" icon="light"
					Text item=Wifi02   label="Wifi level [%d %%]" 
					Default item=Alive02  label="Alive"
					Text item=mqtt02   label="Status: [%s]" 
				}
				Frame label="Schneemann" {
					Switch item=SonoffDose03  label="Power" icon="light"
					Text item=Wifi03   label="Wifi level [%d %%]" 
					Default item=Alive03  label="Alive"
					Text item=mqtt03   label="Status: [%s]" 
				}
				Frame label="Stehlampe" {
					Switch item=SonoffDose04  label="Power" icon="light"
					Text item=Wifi04   label="Wifi level [%d %%]" 
					Default item=Alive04  label="Alive"
					Text item=mqtt04   label="Status: [%s]" 
				}				
			}
		}

Code: Alles auswählen

//*****Sonoff S20 Büro & Studio*****                                                                                                                      
Switch SonoffDose01         "Studio"               <light> ["Switchable"] { mqtt=">[JoesSmartHome:cmnd/SonoffDose01/power:command:*:default], <[JoesSmartHome:stat/SonoffDose01/POWER:state:default]" }
// Wifi Signal 
Number Wifi01               "Wifi level [%d %%]"   <network>              { mqtt="<[JoesSmartHome:tele/SonoffDose01/STATE:state:JSONPATH($.Wifi.RSSI)]" }
//Status Sonoff Module                                             
String mqtt01               "Status: [%s]"         <status>               { mqtt="<[JoesSmartHome:tele/SonoffDose01/INFO1:state:default],<[JoesSmartHome:stat/SonoffDose01/STATUS2:state:default],<[JoesSmartHome:stat/SonoffDose01/RESULT:state:default]" }
//String mqtt           "Wifi level neu [JSONPATH($.Wifi.RSSI):%s %%]"   <network> ) { mqtt="<[JoesSmartHome:tele/SonoffDose01/STATE:state:default]" }

//*****Sonoff S20 Lichterkette*****
Switch SonoffDose02         "Lichterkette"         <light> ["Switchable"] { mqtt=">[JoesSmartHome:cmnd/SonoffDose02/power:command:*:default], <[JoesSmartHome:stat/SonoffDose02/POWER:state:default]" }
// Wifi Signal 
Number Wifi02               "Wifi level [%d %%]"   <network>              { mqtt="<[JoesSmartHome:tele/SonoffDose02/STATE:state:JSONPATH($.Wifi.RSSI)]" }
//Messages Sonoff Module
String mqtt02               "Status: [%s]"         <status>               { mqtt="<[JoesSmartHome:tele/SonoffDose02/INFO1:state:default],<[JoesSmartHome:stat/SonoffDose02/STATUS2:state:default],<[JoesSmartHome:stat/SonoffDose02/RESULT:state:default]" }

//*****Sonoff S20 Schneemann*****
Switch SonoffDose03         "Schneemann"           <light> ["Switchable"] { mqtt=">[JoesSmartHome:cmnd/SonoffDose03/power:command:*:default], <[JoesSmartHome:stat/SonoffDose03/POWER:state:default]" }
// Wifi Signal 
Number Wifi03               "Wifi level [%d %%]"   <network>              { mqtt="<[JoesSmartHome:tele/SonoffDose03/STATE:state:JSONPATH($.Wifi.RSSI)]" }
//Messages Sonoff Module
String mqtt03               "Status: [%s]"         <status>               { mqtt="<[JoesSmartHome:tele/SonoffDose03/INFO1:state:default],<[JoesSmartHome:stat/SonoffDose03/STATUS2:state:default],<[JoesSmartHome:stat/SonoffDose03/RESULT:state:default]" }

//*****Sonoff S20 Stehlampe*****
Switch SonoffDose04         "Stehlampe"         <light> ["Switchable"] { mqtt=">[JoesSmartHome:cmnd/SonoffDose04/power:command:*:default], <[JoesSmartHome:stat/SonoffDose04/POWER:state:default]" }
/// Wifi Signal
Number Wifi04               "Wifi level [%d %%]"   <network>              { mqtt="<[JoesSmartHome:tele/SonoffDose04/STATE:state:JSONPATH($.Wifi.RSSI)]" }
//Status Sonoff Module
String mqtt04               "Status: [%s]"         <status>               { mqtt="<[JoesSmartHome:tele/SonoffDose04/INFO1:state:default],<[JoesSmartHome:stat/SonoffDose04/STATUS2:state:default],<[JoesSmartHome:stat/SonoffDose04/RESULT:state:default]" }
S20-Status02.jpg
Gibt es eine Liste welches Sonoff Teilchen welche Befehle verarbeiten / weitergeben können bzw. was wie im MQTT ankommt oder durch geht?
Kann mir sagen wie ich im MQTT abfragen kann, was dort von den Sonoff Teilen ankommt?
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Benutzeravatar
udo1toni
Beiträge: 13989
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: openHAB2 und China-Steckdosen ChoiFoo bzw. Jinvoo

Beitrag von udo1toni »

Geh doch bitte nochmal einen Schritt zurück und lege das Item so an:

Code: Alles auswählen

String mqttSonoffDose01state "tele Status [%s]" { mqtt="<[JoesSmartHome:tele/SonoffDose01/STATE:state:default]" }
einfach um zu sehen, was denn da so rein kommt.
tele als topic wird automatisch aktualisiert, allerdings nur alle x Minuten, vielleicht warst Du bisher einfach zu ungeduldig ;)
Und wie gesagt, ich glaube, da kommt keine Zahl, sondern Text (auch wenn der Text ausschließlich aus Ziffern besteht).

Eine Liste aller Befehle für die mit Tasmota geflashten Sonoffs findest Du unter https://github.com/arendst/Sonoff-Tasmota/wiki/Commands (das sind die grundsätzlichen Kommandos und Status, die auch über MQTT verwendbar sind) und https://github.com/arendst/Sonoff-Tasmo ... T-Features (Das ist die Seite die MQTT im speziellen erklärt)
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Benutzeravatar
Joe
Beiträge: 200
Registriert: 10. Okt 2018 12:22
Answers: 0
Wohnort: bei Mannheim

Re: openHAB2 und China-Steckdosen ChoiFoo bzw. Jinvoo

Beitrag von Joe »

Hi Udo,
danke für die Hilfe.
Du jetzt wird es ja ganz abgefahren...
Hier mal der Code für meinen Basic bei dem der wifi Status funktioniert.

Code: Alles auswählen

//Sonoff Basic Studio T1
Switch SonoffT1           "Power"                                <light>     { mqtt=">[JoesSmartHome:cmnd/SonoffT1/power:command:*:default], <[JoesSmartHome:stat/SonoffT1/POWER:state:default]" }
// A switch being 'ON' as long as the device is reachable
Switch Alive1              "Alive"                                           { mqtt="<[JoesSmartHome:tele/SonoffT1/LWT:state:MAP(reachable.map)]" }
// Wifi Signal Strength in Percent
Number Wifi1               "Wifi level [%d %%]"                  <network>   { mqtt="<[JoesSmartHome:tele/SonoffT1/STATE:state:JSONPATH($.Wifi.RSSI)]" }
Number mqttSonoffT1state   "tele Status [%s]"     <network>                  { mqtt="<[JoesSmartHome:tele/SonoffT1/STATE:state:default]" }
//A collection of return messages by the Sonoff module
String mqtt1                "Status: [%s]"                       <status>    { mqtt="<[JoesSmartHome:tele/SonoffT1/INFO1:state:default],<[JoesSmartHome:stat/SonoffT1/STATUS2:state:default],<[JoesSmartHome:stat/SonoffT1/RESULT:state:default]" }
[code/]

[code]
				Frame label="Studio1" {
					Switch item=SonoffT1  label="Power" icon="light"
					Text item=Wifi1   label="Wifi level [%d %%]" icon="network"
					Text item=mqttSonoffDose01state   label="Wifi level neu [%d %%]" icon="network"
					Default item=Alive1  label="Alive" 
					Text item=mqtt1  label="Status: [%s]" icon="status"
					Text item=mqttSonoffT1state label="SonoffT1 FS [JSONPATH($.Wifi.RSSI):%s%%]" icon="network"
					Text item=mqttSonoffT1state label="SonoffT1 MAC [JSONPATH($.Wifi.APMac):%s]" icon="network"
					Text item=mqttSonoffT1state label="SonoffT1 Uptime [JSONPATH($.Uptime):%s]" icon="network"
				}
[code/]

[attachment=0]Sonoff Basic.jpg[/attachment]

Habe Deine Zeile mal als Zusatz eingebaut, hat aber weder beim Basic noch beim S20 funktioniert.
Kann es sein das ich an einer anderen Stelle die ich nicht mehr auf dem Radar habe etwas vergessen habe beim einbinden der S20's?

Code vom S20
[code]
//*****Sonoff S20 Büro & Studio*****                                                                                                                      
Switch SonoffDose01         "Studio"               <light> ["Switchable"] { mqtt=">[JoesSmartHome:cmnd/SonoffDose01/power:command:*:default], <[JoesSmartHome:stat/SonoffDose01/POWER:state:default]" }
// Wifi Signal 
//Number Wifi01               "Wifi level [%d %%]"   <network>              { mqtt="<[JoesSmartHome:tele/SonoffDose01/STATE:state:JSONPATH($.Wifi.RSSI)]" }
String mqttSonoffDose01state  "tele Status [%s]"     <network>              { mqtt="<[JoesSmartHome:tele/SonoffDose01/STATE:state:default]" }
//Status Sonoff Module                                             
String mqtt01               "Status: [%s]"         <status>               { mqtt="<[JoesSmartHome:tele/SonoffDose01/INFO1:state:default],<[JoesSmartHome:stat/SonoffDose01/STATUS2:state:default],<[JoesSmartHome:stat/SonoffDose01/RESULT:state:default]" }
//String mqtt           "Wifi level neu [JSONPATH($.Wifi.RSSI):%s %%]"   <network> ) { mqtt="<[JoesSmartHome:tele/SonoffDose01/STATE:state:default]" }
[code/]

[code]
				Frame label="Studio" {
					Switch item=SonoffDose01  label="Power" icon="light"
					//Text item=Wifi01   label="Wifi level [%d %%]" icon="network"
					Text item=mqttSonoffDose01state   label="Wifi level [%d %%]" icon="network"
					Default item=Alive01  label="Alive" 
					Text item=mqtt01  label="Status: [%s]" icon="status"
					Text item=mqttSonoffDose01state label="SonoffDose01 FS [JSONPATH($.Wifi.RSSI):%s%%]" icon="network"
					Text item=mqttSonoffDose01state label="SonoffDose01 MAC [JSONPATH($.Wifi.APMac):%s]" icon="network"
					Text item=mqttSonoffDose01state label="SonoffDose01 Uptime [JSONPATH($.Uptime):%s]" icon="network"
				}
[code/]
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Antworten