Gardena Smart System

Begonnen von emilio_35, 16 April 2017, 17:14:53

Vorheriges Thema - Nächstes Thema

CoolTux

Hast Du die Semikolons gesetzt?
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

if ( $sileno_status eq 'parked_autotimer') {
my $sileno_status_D = 'Geparkt durch SensorControl';
}
elseif ( $sileno_status eq 'paused') {
my $sileno_status_D = 'Pausiert';
}
elseif ( $sileno_status eq 'ok_cutting') {
my $sileno_status_D = 'Mähen';


Meinst Du so hier?
Ja hab ich. Keine Änderung

Wann nehme ich Anführungszeichen "" und wann das Hochkomma ' ' ??

Sorry mit PERL hab ich es nicht so :)

CoolTux

In ' ' eingeschlossen ist es immer ein String. Du kannst also auch ' $test ' schreiben und er macht definitiv ein String $test. Wird also nicht als Variable behandelt.
In " " wird sofern eine Variable abgefragt wird auch der Inhalt der Variable und nicht die Variable selber eingesetzt.


my $sileno_status_D;

if ( $sileno_status eq 'parked_autotimer') {
      $sileno_status_D = 'Geparkt durch SensorControl';
}
elseif ( $sileno_status eq 'paused') {
      $sileno_status_D = 'Pausiert';
}
elseif ( $sileno_status eq 'ok_cutting') {
      $sileno_status_D = 'Mähen';
}


Sehe aktuell kein Problem. Dieser Code sollte eigentlich klappen. Kann es aber gerade nicht checken.
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

#48
SO! Das Mapping läuft!

Wer gerne deutschsprachige Meldetexte haben möchte für Status und Error der möge bitte folgendes tun:

Oben hinter der Subroutine die beiden neuen Variablen definieren:

my $sileno_status_D;
my $sileno_error_D;


Den nachfolgenden Code vor den letzten Zeilen mit fhem("setreading Sileno ....... einfügen.

if ( $sileno_status eq "parked_autotimer") {
      $sileno_status_D = "Geparkt durch SensorControl";
}
elsif ( $sileno_status eq "paused") {
      $sileno_status_D = "Pausiert";
}
elsif ( $sileno_status eq "ok_cutting") {
      $sileno_status_D = "Mähen";
}
elsif ( $sileno_status eq "ok_searching") {
  $sileno_status_D = "Suche Ladestation";
}
elsif ( $sileno_status eq "ok_charging") {
  $sileno_status_D = "Lädt";
}
elsif ( $sileno_status eq "ok_leaving") {
  $sileno_status_D = "Mähen";
}
elsif ( $sileno_status eq "parked_timer") {
  $sileno_status_D = "Geparkt nach Zeitplan";
}
elsif ( $sileno_status eq "off_disabled") {
  $sileno_status_D = "Der Mäher ist ausgeschaltet";
}
elsif ( $sileno_status eq "parked_park_selected") {
  $sileno_status_D = "Geparkt";
}
elsif ( $sileno_status eq "off_hatch_open") {
  $sileno_status_D = "Deaktiviert. Abdeckung ist offen oder PIN-Code erforderlich";
}
elsif ( $sileno_status eq "error") {
  $sileno_status_D = "Fehler";
}
elsif ( $sileno_status eq "error_at_power_up") {
  $sileno_status_D = "Neustart ...";
}
elsif ( $sileno_status eq "off_hatch_closed") {
  $sileno_status_D = "Deaktiviert. Manueller Start erforderlich";
}
elsif ( $sileno_status eq "ok_cutting_timer_overridden") {
  $sileno_status_D = "Manuelles Mähen";
}
elsif ( $sileno_status eq "parked_daily_limit_reached") {
  $sileno_status_D = "Abgeschlossen";
}

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





Dann noch die beiden Variablen unten anpassen:

fhem("setreading Sileno status $sileno_status_D");
fhem("setreading Sileno error $sileno_error_D");


Für dem Rest muss ich noch sammeln und übersetzen.

CoolTux

So wie der Code da jetzt steht wird er eventuell nicht gehen.
Wird an einer früheren Stelle
$sileno_status_D
Initialisiert?
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

Bis jetzt geht's ohne....

Wo an welcher Stelle in der 99_myUtils.pm muss man das machen?

CoolTux

Eine Variable deklariert man immer bevor man sie das erste mal verwendet.
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

Immer diese Hochsprachen [emoji23][emoji23][emoji23][emoji23]

Ich werde es gleich machen

mbrak

Hallo Gardena Sileno Freunde

ich habe mich mal durch das JSON Array gewühlt und bekomme mittlerweile diese Readings.


CoolTux

Zitat von: mbrak am 24 Juli 2017, 18:41:52
Hallo Gardena Sileno Freunde

ich habe mich mal durch das JSON Array gewühlt und bekomme mittlerweile diese Readings.

Hast Du mehr wie ein Gardena Smart Device?
Ich suche jemanden der wenigsten 2-3 unterschiedliche Devices hat und Interesse an der Modulentwicklung mit zu machen.
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

Hi

leider nur den Mäher. Regnen tut es ja von alleine.

Nein Spass beiseite. Wenn ich dir trotzdem helfen kann dann sehr gerne!

Die paar Infos die es gibt muss man sich mühsam zusammen tragen. Da helfe ich wo ich kann!


Gruß Michael


CoolTux

Also ich komme gerne auf Dein Angebot zurück wenn ich niemanden finde.
Wäre aber schon schön wenn wir hier jemanden hätten mit 2-3 Geräten um das automatische anlegen der unterschiedlichen Modelle zu testen und der damit einhergehenden automatischen Set Liste.
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

Hi,

ich hätte einen Mäher und WaterControl im Angebot zusätzlich könnte aber noch einen Regensensor am Gateway anlernen ..

ergo ständen 3 Geräte  zur Verfügung.

Grüße


Gesendet von iPhone mit Tapatalk
Intel NUC @Ubuntu > FHEM 5.8
HM-LAN, NanoCul, Signalduino
EchoDot, Gardena Sileno, XT1, Somfy RTS
TabletUI

CoolTux

Zitat von: Kenneth am 25 Juli 2017, 10:30:22
Hi,

ich hätte einen Mäher und WaterControl im Angebot zusätzlich könnte aber noch einen Regensensor am Gateway anlernen ..

ergo ständen 3 Geräte  zur Verfügung.

Grüße


Gesendet von iPhone mit Tapatalk

Das wäre genau das was ich bräuchte. Hättest Lust und Zeit mir bei der Entwicklung zu helfen? Keine Angst, das ganze dauert noch ein klein wenig. Allerdings bräuchte ich dann Deinen Zugang wenn das möglich wäre.


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

Kenneth

Hi,

Zeit würde sich finden lassen sollte also kein Problem sein. Zugang [emoji15]. mhhh ok wenn du alles sauber und ordentlich hinterlässt [emoji12]..




Gesendet von iPhone mit Tapatalk
Intel NUC @Ubuntu > FHEM 5.8
HM-LAN, NanoCul, Signalduino
EchoDot, Gardena Sileno, XT1, Somfy RTS
TabletUI