OpenHAB
-
- erfahrener Forum-Nutzer
- Beiträge: 87
- Registriert: Mi 4. Mai 2016, 14:57
- Mäher: Gardena R40Li
- Firmware des Mähers (MSW): MSW 5.xx.xx
- Herstellungsjahr: 2015
- Robonect-Modul: Robonect Hx (Rev.2)
- Robonect Firmware: 0.9e
- wurde gedankt: 1 Mal
OpenHAB
Hallo, ich dachte ich starte mal einen neuen Thread für OH.
Ich habe mal angefangen Robonect in OH zu integrieren. Bisher lese ich nur den Status aus. Mein Rasen wächst noch, sobald Shawn fahren darf, spiele ich mich mal weiter, z.B. damit ihn via OH zu starten und zurückzuholen.
Bisher sieht das Ganze so aus:
Ich habe mal angefangen Robonect in OH zu integrieren. Bisher lese ich nur den Status aus. Mein Rasen wächst noch, sobald Shawn fahren darf, spiele ich mich mal weiter, z.B. damit ihn via OH zu starten und zurückzuholen.
Bisher sieht das Ganze so aus:
MSW-Software: R40Li
MSW-Version: 5.01.00
MSW-Datum: 2014-10-10 13:44:38
SUB-Version: 5.00.00
MSW-Version: 5.01.00
MSW-Datum: 2014-10-10 13:44:38
SUB-Version: 5.00.00
-
- Forum-Anfänger
- Beiträge: 9
- Registriert: Do 21. Apr 2016, 11:52
- Mäher: Gardena R40Li
- Robonect-Modul: Robonect H30x (Rev.2)
- Robonect Firmware: 1.0beta2
Re: OpenHAB
Super, auf die OH -Anbindung bin ich ganz gespannt. Wenn das so weitergeht, sollte ich entgegen der Garantie doch das Modul einbauen....
-
- erfahrener Forum-Nutzer
- Beiträge: 87
- Registriert: Mi 4. Mai 2016, 14:57
- Mäher: Gardena R40Li
- Firmware des Mähers (MSW): MSW 5.xx.xx
- Herstellungsjahr: 2015
- Robonect-Modul: Robonect Hx (Rev.2)
- Robonect Firmware: 0.9e
- wurde gedankt: 1 Mal
Re: OpenHAB
Bin mittlerweile recht weit. Macht alles was ich will. Baue die Tage noch ein "manuelles Losschicken" ein. Sonst hab ich alles bzw. die Templates das einzubauen was ich möchte.marcus69 hat geschrieben:Super, auf die OH -Anbindung bin ich ganz gespannt. Wenn das so weitergeht, sollte ich entgegen der Garantie doch das Modul einbauen....
MSW-Software: R40Li
MSW-Version: 5.01.00
MSW-Datum: 2014-10-10 13:44:38
SUB-Version: 5.00.00
MSW-Version: 5.01.00
MSW-Datum: 2014-10-10 13:44:38
SUB-Version: 5.00.00
-
- Forum-Nutzer
- Beiträge: 33
- Registriert: Sa 30. Jan 2016, 17:42
- Mäher: Husqvarna Automower 305
- Firmware des Mähers (MSW): MSW 4.xx.xx
- Herstellungsjahr: 2011
- Robonect-Modul: Robonect Hx (Rev.2)
- Robonect Firmware: 0.9e
Re: OpenHAB
Hi bezibaerchen,
das sieht ja richtig klasse aus. ich habe es nur per Skript angebunden - Oneway ohne Steuerung.
Es wäre schön, wenn du die Lösung später einmal posten könntest
Grüße
Sascha
@marcus69: Aufhören zu überlegen und rein damit
das sieht ja richtig klasse aus. ich habe es nur per Skript angebunden - Oneway ohne Steuerung.
Es wäre schön, wenn du die Lösung später einmal posten könntest
Grüße
Sascha
@marcus69: Aufhören zu überlegen und rein damit
Husqvarna "Hacky" 305 - MSW 4.02.00 SUB 4.00.00 MMI 4.02.00
Robonect v0.9c 25.03.2017 20:10
Robonect v0.9c 25.03.2017 20:10
-
- erfahrener Forum-Nutzer
- Beiträge: 87
- Registriert: Mi 4. Mai 2016, 14:57
- Mäher: Gardena R40Li
- Firmware des Mähers (MSW): MSW 5.xx.xx
- Herstellungsjahr: 2015
- Robonect-Modul: Robonect Hx (Rev.2)
- Robonect Firmware: 0.9e
- wurde gedankt: 1 Mal
Re: OpenHAB
Erreichbar machst Du anhand Ping?skloss hat geschrieben:Hi bezibaerchen,
das sieht ja richtig klasse aus. ich habe es nur per Skript angebunden - Oneway ohne Steuerung.
Es wäre schön, wenn du die Lösung später einmal posten könntest
Grüße
Sascha
@marcus69: Aufhören zu überlegen und rein damit
Lass uns doch beide unsere item configuration, sitemap posten. Ich habe noch rules, maps und transform scripts verwendet. Ich hoffe ich denke dran, dann poste ich mal übernächste Woche was ich so habe. Bin jetzt erstmal nicht da, also zumindest nicht so, dass ich config gut Copy und paste machen kann
MSW-Software: R40Li
MSW-Version: 5.01.00
MSW-Datum: 2014-10-10 13:44:38
SUB-Version: 5.00.00
MSW-Version: 5.01.00
MSW-Datum: 2014-10-10 13:44:38
SUB-Version: 5.00.00
-
- Forum-Anfänger
- Beiträge: 9
- Registriert: Do 21. Apr 2016, 11:52
- Mäher: Gardena R40Li
- Robonect-Modul: Robonect H30x (Rev.2)
- Robonect Firmware: 1.0beta2
Re: OpenHAB
Habe jetzt wegen eurer Einbindung das Modul auch gekauft.
Wäre super nett, wenn ihr einmal eure Sitemap, config, rules einmal Posten würdet.
Danke
Marcus
Wäre super nett, wenn ihr einmal eure Sitemap, config, rules einmal Posten würdet.
Danke
Marcus
-
- erfahrener Forum-Nutzer
- Beiträge: 87
- Registriert: Mi 4. Mai 2016, 14:57
- Mäher: Gardena R40Li
- Firmware des Mähers (MSW): MSW 5.xx.xx
- Herstellungsjahr: 2015
- Robonect-Modul: Robonect Hx (Rev.2)
- Robonect Firmware: 0.9e
- wurde gedankt: 1 Mal
Re: OpenHAB
Servus.
Meine Einbindung ist noch ein wenig rudimentär, werden z.B. je nach aktuellem Zustand nicht alle Infos angezeigt. Ich stehe noch ein wenig auf Kriegsfuß mit den JSON Conversions. Habe jetzt angefangen das mit Bash zu bauen, ist noch nicht ganz durch.
Anyway, hier mal das was ich bisher habe. Der erste Screenshot gilt noch, wird jetzt nur noch Dauer und WiFi angezeigt.
Zusätzlich gibt es jetzt noch eine Steuerung:
Hier mal was ich so habe. (Bin noch nicht lange bei openHAB dabei also sicherlich alles andere als gut / richtig, deshalb bitte Nachsicht )
Items-File
Sitemap
Script 1 (automower-info.sh) - wird alle 30 Minuten via CronJob ausgeführt und ja, useless use of cat
Script 2 (automower-job.sh) - dieses Script verwende ich zum manuellen JobStart.
Mapping files:
automowerinfo_mode.map
automowerinfo_status.map
Last but not least, ein paar rules
automowerinfo.rules (das werde ich denke ich noch umbauen in Shell, da tue ich mir leichter)
automowerjob.rules (verwende ich zum manuellen Mähauftrag. Ursprünglich hatte ich auch 5h drin, habe ich momentan ausgebaut, ist aber im Script noch vorhanden. Neben dem Aufruf der o.g. Scripts wird auch noch eine Telegram-Nachricht versendet.)
automowermode.rules (Modus via OH setzen und Telegram-Nachricht im Fehlerfall)
Denke ich habe alles erwischt, was wert zu posten ist. Bin mal gespannt, ob es bei Dir evtl. auch Verwendung finden kann.
Meine Einbindung ist noch ein wenig rudimentär, werden z.B. je nach aktuellem Zustand nicht alle Infos angezeigt. Ich stehe noch ein wenig auf Kriegsfuß mit den JSON Conversions. Habe jetzt angefangen das mit Bash zu bauen, ist noch nicht ganz durch.
Anyway, hier mal das was ich bisher habe. Der erste Screenshot gilt noch, wird jetzt nur noch Dauer und WiFi angezeigt.
Zusätzlich gibt es jetzt noch eine Steuerung:
Hier mal was ich so habe. (Bin noch nicht lange bei openHAB dabei also sicherlich alles andere als gut / richtig, deshalb bitte Nachsicht )
Items-File
Code: Alles auswählen
String AutoMowerRawData "AutoMower RAW Data" (automower) { http="<[http://<mower_adresse>/json?cmd=status:600000:REGEX((.*))]"
String AutoMowerStatus "Status [MAP(automowerinfo_status.map):%s]" (automower) { transform("JSONPATH","$status.status",AutoMowerRawData) }
String AutoMowerBattery "Batteriestatus (%)[%s]" (automower) { transform("JSONPATH","$status.battery",AutoMowerRawData) }
String AutoMowerMode "Modus [MAP(automowerinfo_mode.map):%s]" (automower) { transform("JSONPATH","$status.mode",AutoMowerRawData) }
String AutoMowerHours "Betriebsstunden [%s]" (automower) { transform("JSONPATH","$status.hours",AutoMowerRawData) }
String AutoMowerWifi "WiFi Signal (db) [%s]" (automower)
String AutoMowerDuration "Dauer [%s]" (automower)
String AutoMowerModeHomeAutoEOD "Modus" (automower)
String AutoMowerNextRun "Nächster Mähzeitpunkt [%s]" (automower)
String AutoMowerJob "Mähen" (automower)
Code: Alles auswählen
Frame label="Automower Status" {
Text item=AutoMowerStatus icon="automower"
Text item=AutoMowerBattery icon="automower" valuecolor=[<30="red",<50="orange",>80="green"]
Text item=AutoMowerMode icon="automower"
Text item=AutoMowerDuration icon="automower"
Text item=AutoMowerHours icon="automower"
Text item=AutoMowerWifi icon="automower"
Text item=AutoMowerNextRun icon="automower" visibility=[AutoMowerMode==0]
}
Frame label="Automower Steuerung" {
Switch item=AutoMowerModeHomeAutoEOD mappings=[auto="Auto", home="Home", eod="Feierabend"] label="Modus" icon="automower"
Switch item=AutoMowerJob mappings=[1="1h", 2="2h", 3="3h", 4="4h"] label="Mähen" icon="automower"
}
Code: Alles auswählen
#!/bin/bash
CURRENTPOT=$(curl -s "http://localhost:8080/rest/items/AutoMowerNextRun/state")
curl -s "http://localhost:8080/rest/items/AutoMowerRawData/state" > /tmp/mowerstatus.txt
DATE=$(cat /tmp/mowerstatus.txt | grep -i timer | awk '{print $19}' | sed -e 's/,//' | sed -e 's/"//g')
TIME=$(cat /tmp/mowerstatus.txt | grep -i timer | awk '{print $21}' | sed -e 's/,//' | sed -e 's/%3A/:/g' | sed -e 's/"//g')
WIFI=$(cat /tmp/mowerstatus.txt | grep -i signal | awk '{print $26}' | sed -e 's/\}//g' )
seconds=$(cat /tmp/mowerstatus.txt | grep -i duration | awk '{print $7}' | sed -e 's/\,//g')
echo $DATE $TIME > /tmp/zeitpunkt.txt
echo $((seconds/86400))" days "$(date -d "1970-01-01 + $seconds seconds" "+%H hours %M minutes %S seconds") > /tmp/duration.txt
POT=$(cat /tmp/zeitpunkt.txt)
DURATION=$(cat /tmp/duration.txt)
/usr/bin/curl -s --header "Content-Type: text/plain" --request POST --data "$POT" http://localhost:8080/rest/items/AutoMowerNextRun
/usr/bin/curl -s --header "Content-Type: text/plain" --request POST --data "$WIFI" http://localhost:8080/rest/items/AutoMowerWifi
/usr/bin/curl -s --header "Content-Type: text/plain" --request POST --data "$DURATION" http://localhost:8080/rest/items/AutoMowerDuration
rm -f /tmp/mowerstatus.txt
rm -f /tmp/zeitpunkt.txt
rm -f /tmp/duration.txt
Code: Alles auswählen
#!/bin/bash
duration=$1
now=$(date +"%H:%M")
end=$(date +"%H:%M" -d "+ $duration hours")
logger "http://<mower_adresse>/json?cmd=mode&mode=job&start=$now&end=$end"
curl -s "http://<mower_adresse>/json?cmd=mode&mode=job&start=$now&end=$end"
automowerinfo_mode.map
Code: Alles auswählen
0=AUTO
1=Manuell
2=HOME
3=Demo
Code: Alles auswählen
0=Schläft
1=Geparkt
2=Mäht
3=Sucht die Ladestation
4=Lädt
5=Sucht
7=Fehlerstatus
8=Schleifsignal verloren
automowerinfo.rules (das werde ich denke ich noch umbauen in Shell, da tue ich mir leichter)
Code: Alles auswählen
rule "AutoMowerRawDataParse"
when
Item AutoMowerRawData changed
then
var String RawData = AutoMowerRawData.state.toString
var String RawStatus = transform("JSONPATH", "$status.status", RawData)
var String RawBattery = transform("JSONPATH", "$status.battery", RawData)
var String RawMode = transform("JSONPATH", "$status.mode", RawData)
var String RawHours = transform("JSONPATH", "$status.hours", RawData)
sendCommand(AutoMowerStatus, RawStatus)
sendCommand(AutoMowerBattery, RawBattery)
sendCommand(AutoMowerMode, RawMode)
sendCommand(AutoMowerHours, RawHours)
end
Code: Alles auswählen
rule "AutoMowerJob1"
when
Item AutoMowerJob received command 1
then
executeCommandLine("/opt/openhab/configurations/scripts/automower-job.sh 1")
sendTelegram("bot1", "Mähauftrag erhalten. Automower wird jetzt für 1h mähen.")
end
rule "AutoMowerJob2"
when
Item AutoMowerJob received command 2
then
executeCommandLine("/opt/openhab/configurations/scripts/automower-job.sh 2")
sendTelegram("bot1", "Mähauftrag erhalten. Automower wird jetzt für 2h mähen.")
end
rule "AutoMowerJob3"
when
Item AutoMowerJob received command 3
then
executeCommandLine("/opt/openhab/configurations/scripts/automower-job.sh 3")
sendTelegram("bot1", "Mähauftrag erhalten. Automower wird jetzt für 3h mähen.")
end
rule "AutoMowerJob4"
when
Item AutoMowerJob received command 4
then
executeCommandLine("/opt/openhab/configurations/scripts/automower-job.sh 4")
sendTelegram("bot1", "Mähauftrag erhalten. Automower wird jetzt für 4h mähen.")
end
rule "AutoMowerJob5"
when
Item AutoMowerJob received command 5
then
executeCommandLine("/opt/openhab/configurations/scripts/automower-job.sh 5")
sendTelegram("bot1", "Mähauftrag erhalten. Automower wird jetzt für 5h mähen.")
end
Code: Alles auswählen
rule "AutoMowerModeAuto"
when
Item AutoMowerModeHomeAutoEOD received command auto
then
sendHttpGetRequest("http://shawn.fritz.box/xml?cmd=mode&mode=auto")
end
rule "AutoMowerModeHome"
when
Item AutoMowerModeHomeAutoEOD received command home
then
sendHttpGetRequest("http://shawn.fritz.box/xml?cmd=mode&mode=home")
end
rule "AutoMowerModeEOD"
when
Item AutoMowerModeHomeAutoEOD received command eod
then
sendHttpGetRequest("http://shawn.fritz.box/xml?cmd=mode&mode=eod")
end
rule "AutoMowerError"
when
Item AutoMowerStatus received update 7
then
sendTelegram("bot1", "Automower ist im Fehlermodus. Bitte Gerät kontrollieren!")
end
MSW-Software: R40Li
MSW-Version: 5.01.00
MSW-Datum: 2014-10-10 13:44:38
SUB-Version: 5.00.00
MSW-Version: 5.01.00
MSW-Datum: 2014-10-10 13:44:38
SUB-Version: 5.00.00
-
- erfahrener Forum-Nutzer
- Beiträge: 87
- Registriert: Mi 4. Mai 2016, 14:57
- Mäher: Gardena R40Li
- Firmware des Mähers (MSW): MSW 5.xx.xx
- Herstellungsjahr: 2015
- Robonect-Modul: Robonect Hx (Rev.2)
- Robonect Firmware: 0.9e
- wurde gedankt: 1 Mal
Re: OpenHAB
Gern
MSW-Software: R40Li
MSW-Version: 5.01.00
MSW-Datum: 2014-10-10 13:44:38
SUB-Version: 5.00.00
MSW-Version: 5.01.00
MSW-Datum: 2014-10-10 13:44:38
SUB-Version: 5.00.00
Re: OpenHAB
Ich hab zwar den Robonect mit neuer FW noch nicht eingebaut (Winderschlaf und so), hab aber meine Hausautomation in den letzten Monaten auf Openhab umgezogen. Da hab ich mich wieder an diesen Thread erinnert. @bezibaerchen , Sieht Super aus!
Was ich nur nicht verstehe? Warum das Shellscript (automower-info.sh). Also mehr: Warum ein Schellscript überhaupt?
Kommt man nicht mittels JSONPATH direkt an die Daten, quasi im HTTP Item und ohne extra Script?
Gruß
Michael
Was ich nur nicht verstehe? Warum das Shellscript (automower-info.sh). Also mehr: Warum ein Schellscript überhaupt?
Kommt man nicht mittels JSONPATH direkt an die Daten, quasi im HTTP Item und ohne extra Script?
Gruß
Michael
Robonect H30x Firmware V0.9 (Final)
Automower: R40Li MSW-Version: 5.01.00 SUB-Version: 5.00.00 Software: OpenHab 2.0
Automower: R40Li MSW-Version: 5.01.00 SUB-Version: 5.00.00 Software: OpenHab 2.0