[73_GardenaSmartBridge, 74_GardenaSmartDevice] - Module für Gardena Smart System

Begonnen von CoolTux, 05 August 2017, 23:17:06

Vorheriges Thema - Nächstes Thema

mbrak

Hallo

bin mal wieder zuhause :)

Hier kommt die komplette Mapping Liste:



/* Funkzustandsmeldungen */

1=Schlecht
2=Gut
3=Exzellent
undefined=Undefiniert

/* Empfangsmeldungen */

poor=Schlecht
good=Gut
excellent=Exzellent

/* Mäherstatusmeldungen */

paused=Pausiert
ok_cutting=Mähen
ok_searching=Suche Ladestation
ok_charging=Lädt
ok_leaving=Mähen
wait_updating=Wird aktualisiert ...
wait_power_up=Wird eingeschaltet ...
parked_timer=Geparkt nach Zeitplan
parked_park_selected=Geparkt
off_disabled=Der Mäher ist ausgeschaltet
off_hatch_open=Deaktiviert. Abdeckung ist offen oder PIN-Code erforderlich
unknown=Unbekannter Status
error=Fehler
error_at_power_up=Neustart ...
off_hatch_closed=Deaktiviert. Manueller Start erforderlich
ok_cutting_timer_overridden=Manuelles Mähen
parked_autotimer=Geparkt durch SensorControl
parked_daily_limit_reached=Abgeschlossen

/* Mäherzustandsmeldungen */

no_message=Kein Fehler
outside_working_area=Außerhalb des Arbeitsbereichs
no_loop_signal=Kein Schleifensignal
wrong_loop_signal=Falsches Schleifensignal
loop_sensor_problem_front=Problem Schleifensensor, vorne
loop_sensor_problem_rear=Problem Schleifensensor, hinten
trapped=Eingeschlossen
upside_down=Steht auf dem Kopf
low_battery=Niedriger Batteriestand
empty_battery=empty_battery
no_drive=no_drive
lifted=Angehoben
stuck_in_charging_station=Eingeklemmt in Ladestation
charging_station_blocked=Ladestation blockiert
collision_sensor_problem_rear=Problem Stoßsensor hinten
collision_sensor_problem_front=Problem Stoßsensor vorne
wheel_motor_blocked_right=Radmotor rechts blockiert
wheel_motor_blocked_left=Radmotor links blockiert
wheel_drive_problem_right=Problem Antrieb, rechts
wheel_drive_problem_left=Problem Antrieb, links
cutting_system_blocked=Schneidsystem blockiert
invalid_sub_device_combination=Fehlerhafte Verbindung
settings_restored=Standardeinstellungen
electronic_problem=Elektronisches Problem
charging_system_problem=Problem Ladesystem
tilt_sensor_problem=Kippsensorproblem
wheel_motor_overloaded_right=Rechter Radmotor überlastet
wheel_motor_overloaded_left=Linker Radmotor überlastet
charging_current_too_high=Ladestrom zu hoch
temporary_problem=Vorübergehendes Problem
guide_1_not_found=SK 1 nicht gefunden
guide_2_not_found=SK 2 nicht gefunden
guide_3_not_found=SK 3 nicht gefunden
difficult_finding_home=Problem die Ladestation zu finden
guide_calibration_accomplished=Kalibration des Suchkabels beendet
guide_calibration_failed=Kalibration des Suchkabels fehlgeschlagen
temporary_battery_problem=Kurzzeitiges Batterieproblem
battery_problem=Batterieproblem
alarm_mower_switched_off=Alarm! Mäher ausgeschalten
alarm_mower_stopped=Alarm! Mäher gestoppt
alarm_mower_lifted=Alarm! Mäher angehoben
alarm_mower_tilted=Alarm! Mäher gekippt
connection_changed=Verbindung geändert
connection_not_changed=Verbindung nicht geändert
com_board_not_available=COM board nicht verfügbar
slipped=Rutscht

/* Batteriezustandsmeldungen */

out_of_operation=Ausser Betrieb
replace_now=Kritischer Batteriestand, wechseln Sie jetzt
low=Niedrig
ok=OK



Das ist nur für den Sileno Mäher. Von den anderen Sensoren habe ich leider nichts.


Gruß Michael

mbrak

Hab da nochwas....

wie werden im Modul Sonderzeichen im Passwort behandelt?

Ich habe z.b. ein "@" in meinem Passwort. Dieses musste ich in der selbstbaulösung mit einem "/" escapen.
Fängt das Modul das auch ab?

Beim "@" in der mail adresse musste hier ja auch ein "/" vorangestellt werden.

CoolTux

Zitat von: mbrak am 13 August 2017, 19:46:07
Hab da nochwas....

wie werden im Modul Sonderzeichen im Passwort behandelt?

Ich habe z.b. ein "@" in meinem Passwort. Dieses musste ich in der selbstbaulösung mit einem "/" escapen.
Fängt das Modul das auch ab?

Beim "@" in der mail adresse musste hier ja auch ein "/" vorangestellt werden.

Also das @ in der Mailadresse muss nicht escaped werden. Beim Passwort bin ich mir gerade unsicher. Bitte einmal testen.

Was Deine Mapings an geht, die beziehen sich ja auf die Values der Readings. Aber welche Readings betrifft es genau?
Ich bräuchte bitte eine genaue Zuordnung
Reading=value=mapping


Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

mbrak

Scheint zu klappen :)
Also sind Sonderzeichen OK



Das mit dem Mapping ist in Arbeit.

mbrak

Hier das Mapping:

Reading=Value=Mapping
=====================================================================================
state=paused=Pausiert
state=ok_cutting=Mähen
state=ok_searching=Suche Ladestation
state=ok_charging=Lädt
state=ok_leaving=Mähen
state=wait_updating=Wird aktualisiert ...
state=wait_power_up=Wird eingeschaltet ...
state=parked_timer=Geparkt nach Zeitplan
state=parked_park_selected=Geparkt
state=off_disabled=Der Mäher ist ausgeschaltet
state=off_hatch_open=Deaktiviert. Abdeckung ist offen oder PIN-Code erforderlich
state=unknown=Unbekannter Status
state=error=Fehler
state=error_at_power_up=Neustart ...
state=off_hatch_closed=Deaktiviert. Manueller Start erforderlich
state=ok_cutting_timer_overridden=Manuelles Mähen
state=parked_autotimer=Geparkt durch SensorControl
state=parked_daily_limit_reached=Abgeschlossen
=====================================================================================
mower-error=no_message=Kein Fehler
mower-error=outside_working_area=Außerhalb des Arbeitsbereichs
mower-error=no_loop_signal=Kein Schleifensignal
mower-error=wrong_loop_signal=Falsches Schleifensignal
mower-error=loop_sensor_problem_front=Problem Schleifensensor, vorne
mower-error=loop_sensor_problem_rear=Problem Schleifensensor, hinten
mower-error=trapped=Eingeschlossen
mower-error=upside_down=Steht auf dem Kopf
mower-error=low_battery=Niedriger Batteriestand
mower-error=empty_battery=empty_battery
mower-error=no_drive=no_drive
mower-error=lifted=Angehoben
mower-error=stuck_in_charging_station=Eingeklemmt in Ladestation
mower-error=charging_station_blocked=Ladestation blockiert
mower-error=collision_sensor_problem_rear=Problem Stoßsensor hinten
mower-error=collision_sensor_problem_front=Problem Stoßsensor vorne
mower-error=wheel_motor_blocked_right=Radmotor rechts blockiert
mower-error=wheel_motor_blocked_left=Radmotor links blockiert
mower-error=wheel_drive_problem_right=Problem Antrieb, rechts
mower-error=wheel_drive_problem_left=Problem Antrieb, links
mower-error=cutting_system_blocked=Schneidsystem blockiert
mower-error=invalid_sub_device_combination=Fehlerhafte Verbindung
mower-error=settings_restored=Standardeinstellungen
mower-error=electronic_problem=Elektronisches Problem
mower-error=charging_system_problem=Problem Ladesystem
mower-error=tilt_sensor_problem=Kippsensorproblem
mower-error=wheel_motor_overloaded_right=Rechter Radmotor überlastet
mower-error=wheel_motor_overloaded_left=Linker Radmotor überlastet
mower-error=charging_current_too_high=Ladestrom zu hoch
mower-error=temporary_problem=Vorübergehendes Problem
mower-error=guide_1_not_found=SK 1 nicht gefunden
mower-error=guide_2_not_found=SK 2 nicht gefunden
mower-error=guide_3_not_found=SK 3 nicht gefunden
mower-error=difficult_finding_home=Problem die Ladestation zu finden
mower-error=guide_calibration_accomplished=Kalibration des Suchkabels beendet
mower-error=guide_calibration_failed=Kalibration des Suchkabels fehlgeschlagen
mower-error=temporary_battery_problem=Kurzzeitiges Batterieproblem
mower-error=battery_problem=Batterieproblem
mower-error=alarm_mower_switched_off=Alarm! Mäher ausgeschalten
mower-error=alarm_mower_stopped=Alarm! Mäher gestoppt
mower-error=alarm_mower_lifted=Alarm! Mäher angehoben
mower-error=alarm_mower_tilted=Alarm! Mäher gekippt
mower-error=connection_changed=Verbindung geändert
mower-error=connection_not_changed=Verbindung nicht geändert
mower-error=com_board_not_available=COM board nicht verfügbar
mower-error=slipped=Rutscht
=====================================================================================
battery-rechargeable_battery_status=out_of_operation=Ausser Betrieb
battery-rechargeable_battery_status=replace_now=Kritischer Batteriestand, wechseln Sie jetzt
battery-rechargeable_battery_status=low=Niedrig
battery-rechargeable_battery_status=ok=OK
=====================================================================================
mower-source_for_next_start=no_source=OK
mower-source_for_next_start=mower_charging=Mäher wurde geladen
mower-source_for_next_start=completed_cutting_autotimer=SensorControl erreicht
mower-source_for_next_start=week_timer=Wochentimer erreicht
mower-source_for_next_start=countdown_timer=Stoppuhr Timer
mower-source_for_next_start=undefined=Unklar
=====================================================================================
radio-connection_status=unknown=Unklar
radio-connection_status=status_device_unreachable=Gerät ist nicht in Reichweite
radio-connection_status=status_device_alive=Gerät ist in Reichweite
=====================================================================================
radio-state=bad=Schlecht
radio-state=poor=Schwach
radio-state=good=Gut
radio-state=undefined=Unklar
=====================================================================================
firmware-firmware_command=idle=Nichts zu tun
firmware-firmware_command=firmware_cancel=Firmwareupload unterbrochen
firmware-firmware_command=firmware_upload=Firmwareupload
firmware-firmware_command=unsupported=nicht unterstützt

mbrak

Nochmal wegen der Zeitstempel bei den Readings:

device_info-last_time_online
mower-override_end_time
mower-timestamp_next_start


Die Werte in den Readings entsprechen der ZULU Zeit.

Hier mal die Definition dazu (Quelle Wikipedia)

Die koordinierte Weltzeit (englisch Coordinated Universal Time, französisch Temps universel coordonné), kurz UTC,
ist die heute gültige Weltzeit. Eingeführt wurde sie 1972. Aus einer Zeitangabe in UTC ergibt sich die entsprechende,
in Deutschland, Österreich und anderen mitteleuropäischen Staaten geltende Mitteleuropäische Zeit (MEZ), indem man eine
Stunde und die im Sommer geltende Mitteleuropäische Sommerzeit (MESZ), indem man zwei Stunden addiert.


Kannst Du die Zeiten entsprechend aufbereiten und hübscher darstellen? Also z.b. statt 2017-08-13T20:16:34Z in etwa so: am 13.08.2017 um 22:16:34 Uhr

Danke und Gruß
Michael

mbrak

Wegen der Mappings nochmal.....

Könnte jemand, der mehr als den Mäher hat mal folgendes PERL Script ausführen?

#!/usr/bin/perl

use LWP::Simple;                # From CPAN
use JSON qw( decode_json );     # From CPAN
use Data::Dumper;               # Perl core module
#use strict;                     # Good practice
use warnings;                   # Good practice

my $device_id = "Deine Device ID";
my $location_id = "Deine Location ID";
my $gardena_email = "Deine Gardena E-Mail";
my $gardena_password = "Dein Gardena Passwort";



my $curl = `curl --data '{"sessions":{"email":"$gardena_email","password":"$gardena_password"}}' --header "Content-Type:application/json" https://sg-api.dss.husqvarnagroup.net/sg-1/sessions`;

# 'get' is exported by LWP::Simple; install LWP from CPAN unless you have it.
# You need it or something similar (HTTP::Tiny, maybe?) to get web pages.
#print $curl;
#my $json = get( $curl );
#die "Could not get $curl" unless defined $json;

# Decode the entire JSON
my $decoded_json = decode_json( $curl );

# you'll get this (it'll print out); comment this when done.
print Dumper $decoded_json;

# Access the shares like this:
#my $command = '"name":"park_until_further_notice"';
#my $command = '"name":"start_override_timer","parameters":{"duration":1440}';
my $session_id = $decoded_json->{'sessions'}{'token'};
#my $battery = $decoded_json -> {'devices'}{'name(battery)->properties'}{'value'}
#                                             name mower: properties:name:status -> values (z.b ok_charging)
#                                                                    name error: -> values
my $stats = `curl --header "Content-Type:application/json" --header "X-Session:$session_id" https://sg-api.dss.husqvarnagroup.net/sg-1/devices?locationId=$location_id`;
my $decoded_stats = decode_json( $stats );
print Dumper $decoded_stats;


Code oben abspeichern als gardena.pl
Datei editieren und Werte in den oberen Zeilen ergänzen.
Aufruf mit z.b. am Raspberry mit perl gardena.pl | tee gardena.txt
die Ausgabe sollte sich dann in der Datei gardena.txt befinden.
das ganze ist ein recht langer JSON String. Es finden sich dadrin alle "Readings" und mögliche Werte im Stile von:

{
                                                                  'value' => 'ok',
                                                                  'supported_values' => [
                                                                                          'weak',
                                                                                          'ok',
                                                                                          'undefined'
                                                                                        ],
                                                                  'name' => 'rechargeable_battery_status',
                                                                  'id' => '8xxxxxa6-4xxf-xxxxx-axx4-a2xxxxxxxxa20',
                                                                  'writeable' => $VAR1->{'devices'}[0]{'abilities'}[0]{'properties'}[0]{'writeable'},
                                                                  'timestamp' => '2017-07-24T15:17:32Z'
                                                                },


Reading währe hier: rechargeable_battery_status mit den möglichen Werten: weak, ok, undefined

Hier könntet ihr dann für die anderen Sensoren mal die möglichen Readings raussuchen. Kann auch gerne helfen.

CoolTux

Zitat von: mbrak am 13 August 2017, 22:29:42
Nochmal wegen der Zeitstempel bei den Readings:

device_info-last_time_online
mower-override_end_time
mower-timestamp_next_start


Die Werte in den Readings entsprechen der ZULU Zeit.

Hier mal die Definition dazu (Quelle Wikipedia)

Die koordinierte Weltzeit (englisch Coordinated Universal Time, französisch Temps universel coordonné), kurz UTC,
ist die heute gültige Weltzeit. Eingeführt wurde sie 1972. Aus einer Zeitangabe in UTC ergibt sich die entsprechende,
in Deutschland, Österreich und anderen mitteleuropäischen Staaten geltende Mitteleuropäische Zeit (MEZ), indem man eine
Stunde und die im Sommer geltende Mitteleuropäische Sommerzeit (MESZ), indem man zwei Stunden addiert.


Kannst Du die Zeiten entsprechend aufbereiten und hübscher darstellen? Also z.b. statt 2017-08-13T20:16:34Z in etwa so: am 13.08.2017 um 22:16:34 Uhr

Danke und Gruß
Michael

Das kann ich mir anschauen und versuchen eine passende Sub zu schreiben.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Kenneth

Zitat von: Kenneth am 10 August 2017, 16:16:15
...
was soll ich sagen ich hab den Gateway erst einem reset unterzogen und dann weil es immer noch nicht möglich war ein Device anzulernen komplett
aus meinen Gardena-ACC gelöscht nocmals resetet und dann im Gardena-ACC neu hinzugefügt... jetzt durfte ich auch den Sensor und Wasserfutzi wieder anlernen...
was für ein Käse...

... werd gleichmal die neue Version installieren :)

ach nu schau mal was ich heute bekommen habe:


Hallo lieber GARDENA smart system User,

leider sind Sie von unserem kurzen Serverabsturz vom Donnerstag 10. August 2017 betroffen. 
Durch den Absturz wurden Ihre GARDENA smart System Produkte aus Ihrem Account gelöscht und müssen daher wieder Neu eingebunden werden. 

......


die sind echt von der schnellen Sorte
Intel NUC @Ubuntu > FHEM 5.8
HM-LAN, NanoCul, Signalduino
EchoDot, Gardena Sileno, XT1, Somfy RTS
TabletUI

mbrak

Hallo zusammen

@Kenneth das ist ja blöd. Hab eben auf Golem gelesen, das hiervon wohl nur ca. 100 User betroffen waren. Ich hatte Glück..... Auf FB zerreissen sie sich jetzt schon wieder das Maul wegen der Cloudlösung... hab leider kein Popcorn hier :) :)

Hatte vorhin seit ca. 21 Uhr als Status bei der Bridge einen HTTP Error 503 als Status stehen. Daten vom Mäher kamen aber an. Jedenfalls wurden die Readings aktualisiert.
Die App auf dem iPhone sagte auch was von wegen Störung bei der Verbindung. Ging dann aber....
Jetzt grad hab ich Fhem geupdatet und neu gestartet. danach war die Verbindung zur Cloud wieder da.

Hattet ihr das auch oder was mag das gewesen sein?

Gruß Michael

VolkerL

Bei mir ist auch 503 aufgetaucht. Da ich aber dienstlich unterwegs bin und schlechte Internetverbindung habe, habe ich nicht weiter nachgeschaut.

Volker
Raspberry PI mit fhem 5.8, COC & HM-CFG-LAN für Homematic & CUL für FS20

mbrak

Scheint ein Problem mit der Cloud zu sein. Das Gateway blinkt rot....
also abwarten :)

CoolTux

Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

mbrak

Da steht : 503 Error Service Unavailable
Aber das Gateway Blinkt immer noch. Aktuell ist der Status der Bridge wieder auf : Connect to Cloud

CoolTux

Also wenn er zur Cloud connecten kann dann sollte es die Bridge auch können.
Ich werde den Text für 503 Mal im state mit abbilden
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net