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

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

Vorheriges Thema - Nächstes Thema

CoolTux

Soweit es der Code hergibt habe ich da gar nichts gemacht.    ;D
Super das alles soweit geht, auch nach einem Softwareupdate
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

CoolTux

@all
Ich habe aktuell Version 0.0.58 ins Git hochgeladen. Wie gewünscht wird nun der Zulu timestamp in local timestamp als Reading geschrieben. Das Format ist das selbe wie bei einem Reading Timestamp. Man kann also die vorhandenen FHEM Helper Subs aus der 99_Utils verwenden um den Timestamp weiter zu verarbeiten.

Somit sind von meiner Seite alle Eure Anforderungen umgesetzt. Sollte die nächsten 5 Tage nichts dazwischen kommen, werde ich daraus eine beta Version 0.1.0 machen und weitere 7 Tage später eine stabile Version 0.2.0.
Es wäre wirklich schön wenn bis zur 0.2er Version eine Commandref stehen würde. Auch wenn ich damit nerven tue.



Grüße
Leon
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

was hast du genau für attribute für das modul eingebaut?

gibt es eine anleitung für eine commandref? was muss alles drin enthalten sein?

also ein Grundgerüst würde ich dann mal schreiben. muss dann aber noch vervollständigt werden.
ist das auch in html geschrieben oder plain/text?

gruß Michael

CoolTux

Ist html
Hier mal ein ganz einfaches Beispiel für englisch mit am Ende anfänglichen Teilen für Deutsch. Es muß jeweils für das Bridgemodul und für das Devicemodul etwas geschrieben werden.

Hier noch ein Beispiel etwas ausführlicher. Wichtig ist ne kleine Einleitung für was das Modul genau ist. Dann wie man das Device definiert dann Readings, seter und geter und natürlich die Attribute.
Sollte Kenneth mit dem Wiki die nächsten Tage fertig werden kannst Du Dir bestimmt da Inspiration holen. Wenn Irgendwas unklar ist, Attribute oder so dann einfach noch mal kurz mich fragen.


=pod

=item device
=item summary    Support read data from  Smart Pi expansion module
=item summary_DE Liest die Daten vom Smart Pi Aufsteckmodul aus

=begin html

<a name="SmartPi"></a>
<h3>SmartPi</h3>
<ul>
    <a name="SmartPireadings"></a>
    <b>Readings</b>
    <ul>
        <li>phaseX_Current      - Current [A] (available for phase 1,2,3, neutral conductor)</li>
        <li>phaseX_Voltage      - Voltage [V] (available for phase 1,2,3)</li>
        <li>phaseX_Power        - Power [W]  (available for phase 1,2,3)</li>
        <li>phaseX_Cosphi       - cos φ (available for phase 1,2,3 –  it is important to measure the voltage)</li>
        <li>phaseX_Frequency    - Frequency [Hz]  (available for phase 1,2,3)</li>
    </ul>
    <a name="SmartPiget"></a>
    <b>get</b>
    <ul>
        <li>phaseX Y             - get new Y (Voltage or Current or so)data about phaseX</li>
    </ul>
</ul>

=end html
=begin html_DE

<a name="SmartPi"></a>
<h3>SmartPi</h3>

=end html_DE
=cut


Attribute bei der Bridge

  • debugJSON
  • disable
  • interval


Attribute beim Device

  • readingValueLanguage
  • model
Hier bitte nicht vergessen zu erwähnen das es deutsche Reading Values gibt und das man sie sowohl pro Device als Attribut aktivieren kann oder global für alle Gardenadevices auf einmal über das Device global und dem Attribut language
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: mbrak am 22 August 2017, 20:17:59
hat geklappt :D danke!!!

Hast du eigentlich was im Modul eingebaut das z.b. das Reading "battery-charging" immer auf 0 oder 1 gemappt wird?

Dachte eigentlich, das bei den neueren Softwareständen des Mähers dort false und true stehen. bei mir kommt aber immer noch eine 0 oder 1.
Auf dem Mäher ist der neueste Softwarestand. Lustig  ;D ;D

also bei mir kommt "true/false" [emoji15]..

Wiki könnte evtl. noch etwas dauern da ich beruflich etwas mehr unterwegs bin die nächsten Wochen.
Mal sehen...

Grüße


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

mbrak

Hatte mal Lust :)

Hier die Commandref für Bridge

=pod
=item device
=item summary       Modul to communicate with the GardenaCloud
=item summary_DE    Modul zur Datenübertragung zur GardenaCloud

=begin html

<a name="GardenaSmartBridge"></a>
<h3>GardenaSmartBridge</h3>
<ul>
  <u><b>Prerequisite</b></u>
  <br><br>
  <li>In combination with GardenaSmartDevice this FHEM Module controls the communication between the GardenaCloud and connected Devices like Mover, Watering_Computer, Temperature_Sensors</li>
  <li>Installation of the following packages: apt-get install libio-socket-ssl-perl</li>
  <li>The Gardena-Gateway and all connected Devices must be correctly installed in the GardenaAPP</li>
</ul>
<br>
<a name="GardenaSmartBridgedefine"></a>
<b>Define</b>
<ul><br>
  <code>define &lt;name&gt; GardenaSmartBridge &lt;Account-EMail&gt; &lt;Account-Passwort&gt;</code>
  <br><br>
  Beispiel:
  <ul><br>
    <code>define Gardena_Bridge GardenaSmartBridge me@email.me secret</code><br>
  </ul>
  <br>
  &ltAccount-EMail&GT Email Adresse which was used in the GardenaAPP<br>
  &ltAccount-Passwort&GT Passwort which was used in the GardenaAPP<br>
  The GardenaSmartBridge device is created in the room GardenaSmart, then the devices of Your system are recognized automatically and created in FHEM. From now on the devices can be controlled and changes in the GardenaAPP are synchronized with the state and readings of the devices.
  <br><br>
  <a name="GardenaSmartBridgeset"></a>
  <b>set</b>
  <ul>
    <li>getDeviceState - Starts a Datarequest</li>
<li>getToken - Gets a new Session-ID</li>
  </ul>
  <br><br>
  <a name="GardenaSmartBridgereadings"></a>
  <br><br>
  <b>Readings</b>
  <ul>
    <li>address - your Adress (Longversion)</li>
    <li>authorized_user_ids - </li>
    <li>city - Zip, City</li>
    <li>devices - Number of Devices in the Cloud (Gateway included)</li>
    <li>lastRequestState - Last Status Result</li>
    <li>latitude - Breitengrad des Grundstücks</li>
    <li>longitude - Längengrad des Grundstücks</li>
    <li>name - Name of your Garden – Default ,,My Garden"</li>
    <li>state - State of the Bridge</li>
    <li>token - SessionID</li>
    <li>zones - </li>
  </ul>
  <br><br>
  <a name="GardenaSmartBridgeattributes"></a>
  <b>Attributes</b>
  <ul>
<li>debugJSON - </li>
<li>disable - Disables the Bridge</li>
<li>interval - Interval in Minutes (Default=5)</li>
  </ul>
</ul>


=end html

=begin html_de

<a name="GardenaSmartBridge"></a>
<h3>GardenaSmartBridge</h3>
<ul>
  <u><b>Voraussetzungen</b></u>
  <br><br>
  <li>Zusammen mit dem Device GardenaSmartDevice stellt dieses FHEM Modul die Kommunikation zwischen der GardenaCloud und Fhem her. Es können damit Rasenmäher, Bewässerungscomputer und Bodensensoren überwacht und gesteuert werden</li>
  <li>Das Perl-Modul "SSL Packet" wird benötigt.</li>
  <li>Unter Debian (basierten) System, kann dies mittels "apt-get install libio-socket-ssl-perl" installiert werden.</li>
  <li>Das Gardena-Gateway und alle damit verbundenen Geräte und Sensoren m&uumlssen vorab in der GardenaApp eingerichtet sein.</li>
</ul>
<br>
<a name="GardenaSmartBridgedefine"></a>
<b>Define</b>
<ul><br>
  <code>define &lt;name&gt; GardenaSmartBridge &lt;Account-EMail&gt; &lt;Account-Passwort&gt;</code>
  <br><br>
  Beispiel:
  <ul><br>
    <code>define Gardena_Bridge GardenaSmartBridge me@email.me secret</code><br>
  </ul>
  <br>
  &ltAccount-EMail&GT Email Adresse, die auch in der GardenaApp verwendet wurde<br>
  &ltAccount-Passwort&GT Passwort, welches in der GardenaApp verwendet wurde<br>
  Das Bridge Device wird im Raum GardenaSmart angelegt und danach erfolgt das Einlesen und automatische Anlegen der Ger&aumlte. Von nun an k&oumlnnen die eingebundenen Ger&aumlte gesteuert werden. &Aumlnderungen in der APP werden mit den Readings und dem Status syncronisiert.
  <br><br>
  <a name="GardenaSmartBridgeset"></a>
  <b>set</b>
  <ul>
    <li>getDeviceState - Startet eine Abfrage der Daten.</li>
<li>getToken - Holt eine neue Session-ID</li>
  </ul>
  <br><br>
  <a name="GardenaSmartBridgereadings"></a>
  <br><br>
  <b>Readings</b>
  <ul>
    <li>address - Adresse, welche in der App eingetragen wurde (Langversion)</li>
    <li>authorized_user_ids - </li>
    <li>city - PLZ, Stadt</li>
    <li>devices - Anzahl der Geräte, welche in der GardenaCloud angemeldet sind (Gateway zählt mit)</li>
    <li>lastRequestState - Letzter abgefragter Status der Bridge</li>
    <li>latitude - Breitengrad des Grundstücks</li>
    <li>longitude - Längengrad des Grundstücks</li>
    <li>name - Name für das Grundstück – Default ,,My Garden"</li>
    <li>state - Status der Bridge</li>
    <li>token - SessionID</li>
    <li>zones - </li>
  </ul>
  <br><br>
  <a name="GardenaSmartBridgeattributes"></a>
  <b>Attribute</b>
  <ul>
<li>debugJSON - </li>
<li>disable - Schaltet die Datenübertragung der Bridge ab</li>
<li>interval - Abfrageinterval in Minuten (Default=5)</li>
  </ul>
</ul>

=end html_DE

=cut


Und hier für das Device
=pod
=item device
=item summary       Modul to control GardenaSmart Devices
=item summary_DE    Modul zur Steuerung von GardenaSmartger&aumlten

=begin html

<a name="GardenaSmartDevice"></a>
<h3>GardenaSmartDevice</h3>
<ul>
  In combination with GardenaSmartBridge this FHEM Module controls the GardenaSmart Device using the GardenaCloud
  <br><br>
  Once the Bridge device is created, the connected devices are automatically recognized and created in FHEM. <br>
  From now on the devices can be controlled and changes in the GardenaAPP are synchronized with the state and readings of the devices.
<a name="GardenaSmartDevicereadings"></a>
</ul>
<br>
<ul>
  <b>Readings</b>
  <ul>
  <li>battery-charging - Indicator if the Battery is charged (0/1) or with newer Firmware (false/true)</li>
    <li>battery-level - load percentage of the Battery</li>
    <li>battery-rechargeable_battery_status - healthyness of the battery (out_of_operation/replace_now/low/ok)</li>
    <li>device_info-category - category of device (mower/watering_computer)</li>
    <li>device_info-last_time_online - timestamp of last radio contact</li>
    <li>device_info-manufacturer - manufacturer</li>
    <li>device_info-product - product type</li>
    <li>device_info-serial_number - serial number</li>
    <li>device_info-sgtin - </li>
    <li>device_info-version - firmware version</li>
    <li>firmware-firmware_command - firmware command (idle/firmware_cancel/firmware_upload/unsupported)</li>
    <li>firmware-firmware_status - firmware status </li>
    <li>firmware-firmware_update_start - indicator when a firmwareupload is started</li>
    <li>firmware-firmware_upload_progress - progress indicator of firmware update</li>
    <li>firmware-inclusion_status - inclusion status</li>
    <li>internal_temperature-temperature - internal device temperature</li>
    <li>mower-error - actual error message <ul>
                                         <li>no_message</li>
<li>outside_working_area</li>
<li>no_loop_signal</li>
<li>wrong_loop_signal</li>
<li>loop_sensor_problem_front</li>
<li>loop_sensor_problem_rear</li>
<li>trapped</li>
<li>upside_down</li>
<li>low_battery</li>
<li>empty_battery</li>
<li>no_drive</li>
<li>lifted</li>
<li>stuck_in_charging_station</li>
<li>charging_station_blocked</li>
<li>collision_sensor_problem_rear</li>
<li>collision_sensor_problem_front</li>
<li>wheel_motor_blocked_right</li>
<li>wheel_motor_blocked_left</li>
<li>wheel_drive_problem_right</li>
<li>wheel_drive_problem_left</li>
<li>cutting_system_blocked</li>
<li>invalid_sub_device_combination</li>
<li>settings_restored</li>
<li>electronic_problem</li>
<li>charging_system_problem</li>
<li>tilt_sensor_problem</li>
<li>wheel_motor_overloaded_right</li>
<li>wheel_motor_overloaded_left</li>
<li>charging_current_too_high</li>
<li>temporary_problem</li>
<li>guide_1_not_found</li>
<li>guide_2_not_found</li>
<li>guide_3_not_found</li>
<li>difficult_finding_home</li>
<li>guide_calibration_accomplished</li>
<li>guide_calibration_failed</li>
<li>temporary_battery_problem</li>
<li>battery_problem</li>
<li>alarm_mower_switched_off</li>
<li>alarm_mower_stopped</li>
<li>alarm_mower_lifted</li>
<li>alarm_mower_tilted</li>
<li>connection_changed</li>
<li>connection_not_changed</li>
<li>com_board_not_available</li>
<li>slipped</li>
   </ul></li>
    <li>mower-manual_operation - (0/1) or with newer Firmware (false/true)</li>
    <li>mower-override_end_time - manual override end time</li>
    <li>mower-source_for_next_start - source for the next start <ul>
                                                              <li>no_source</li>
  <li>mower_charging</li>
  <li>completed_cutting_autotimer</li>
  <li>week_timer</li>
  <li>countdown_timer</li>
  <li>undefined</li>
</ul></li> 
    <li>mower-status - mower state (see state)</li>
    <li>mower-timestamp_next_start - timestamp of next scheduled start</li>
    <li>radio-connection_status - state of connection</li>
    <li>radio-quality - percentage of the radio quality</li>
    <li>radio-state - radio state (bad/poor/good/undefined)</li>
    <li>state - state of the mower <ul>
                                 <li>paused</li>
<li>ok_cutting</li>
<li>ok_searching</li>
<li>ok_charging</li>
<li>ok_leaving</li>
<li>wait_updating</li>
<li>wait_power_up</li>
<li>parked_timer</li>
<li>parked_park_selected</li>
<li>off_disabled</li>
<li>off_hatch_open</li>
<li>unknown</li>
<li>error</li>
<li>error_at_power_up</li>
<li>off_hatch_closed</li>
<li>ok_cutting_timer_overridden</li>
<li>parked_autotimer</li>
<li>parked_daily_limit_reached</li>
   </ul></li>
  </ul>
  <br><br>
  <a name="GardenaSmartDeviceattributes"></a>
  <b>Attributes</b>
  <ul>
<li>readingValueLanguage - Change the Language of Readings (DE/if not set the default is english) </li>
<li>model - </li>
  </ul>
  <a name="GardenaSmartDeviceset"></a>
  <b>set</b>
  <ul>
    <li>parkUntilFurtherNotice</li>
<li>parkUntilNextTimer</li>
<li>startOverrideTimer - 0 to 59 Minutes</li>
<li>startResumeSchedule</li>
  </ul>
</ul>


=end html

=begin html_de

<a name="GardenaSmartDevice"></a>
<h3>GardenaSmartDevice</h3>
<ul>
  Zusammen mit dem Device GardenaSmartDevice stellt dieses FHEM Modul die Kommunikation zwischen der GardenaCloud und Fhem her.
  <br><br>
  Wenn das GardenaSmartBridge Device erzeugt wurde, werden verbundene Ger&aumlte automatisch erkannt und in Fhem angelegt.<br>
  Von nun an k&oumlnnen die eingebundenen Ger&aumlte gesteuert werden. &Aumlnderungen in der APP werden mit den Readings und dem Status syncronisiert.
<a name="GardenaSmartDevicereadings"></a>
</ul>
<br>
<ul>
  <b>Readings</b>
  <ul>
  <li>battery-charging - Ladeindikator (0/1) oder mit neuerer Firmware (false/true)</li>
    <li>battery-level - Ladezustand der Batterie in Prozent</li>
    <li>battery-rechargeable_battery_status - Zustand der Batterie (Ausser Betrieb/Kritischer Batteriestand, wechseln Sie jetzt/Niedrig/oK)</li>
    <li>device_info-category - Eigenschaft des Ger&Aumltes (M&aumlher/Bew&aumlsserungscomputer/Bodensensor)</li>
    <li>device_info-last_time_online - Zeitpunkt der letzten Funkübertragung</li>
    <li>device_info-manufacturer - Hersteller</li>
    <li>device_info-product - Produkttyp</li>
    <li>device_info-serial_number - Seriennummer</li>
    <li>device_info-sgtin - </li>
    <li>device_info-version - Firmware Version</li>
    <li>firmware-firmware_command - Firmware Kommando (Nichts zu tun/Firmwareupload unterbrochen/Firmwareupload/nicht unterstützt)</li>
    <li>firmware-firmware_status - Firmware Status </li>
    <li>firmware-firmware_update_start - Firmwareupdate (0/1) oder mit neuerer Firmware (false/true)</li>
    <li>firmware-firmware_upload_progress - Firmwareupdatestatus in Prozent</li>
    <li>firmware-inclusion_status - Einbindungsstatus</li>
    <li>internal_temperature-temperature - Interne Geräte Temperatur</li>
    <li>mower-error - Aktuelle Fehler Meldung <ul>
                                         <li>Kein Fehler</li>
<li>Au&szligerhalb des Arbeitsbereichs</li>
<li>Kein Schleifensignal</li>
<li>Falsches Schleifensignal</li>
<li>Problem Schleifensensor, vorne</li>
<li>Problem Schleifensensor, hinten</li>
<li>Eingeschlossen</li>
<li>Steht auf dem Kopf</li>
<li>Niedriger Batteriestand</li>
<li>Batterie ist leer</li>
<li>Kein Antrieb</li>
<li>Angehoben</li>
<li>Eingeklemmt in Ladestation</li>
<li>Ladestation blockiert</li>
<li>Problem Sto&szligsensor hinten</li>
<li>Problem Sto&szligsensor vorne</li>
<li>Radmotor rechts blockiert</li>
<li>Radmotor links blockiert</li>
<li>Problem Antrieb, rechts</li>
<li>Problem Antrieb, links</li>
<li>Schneidsystem blockiert</li>
<li>Fehlerhafte Verbindung</li>
<li>Standardeinstellungen</li>
<li>Elektronisches Problem</li>
<li>Problem Ladesystem</li>
<li>Kippsensorproblem</li>
<li>Rechter Radmotor &uumlberlastet</li>
<li>Linker Radmotor &uumlberlastet</li>
<li>Ladestrom zu hoch</li>
<li>Vorübergehendes Problem</li>
<li>SK 1 nicht gefunden</li>
<li>SK 2 nicht gefunden</li>
<li>SK 3 nicht gefunden</li>
<li>Problem die Ladestation zu finden</li>
<li>Kalibration des Suchkabels beendet</li>
<li>Kalibration des Suchkabels fehlgeschlagen</li>
<li>Kurzzeitiges Batterieproblem</li>
<li>Batterieproblem</li>
<li>Alarm! M&aumlher ausgeschalten</li>
<li>Alarm! Mäher gestoppt</li>
<li>Alarm! Mäher angehoben</li>
<li>Alarm! Mäher gekippt</li>
<li>Verbindung geändert</li>
<li>Verbindung nicht geändert</li>
<li>COM board nicht verfügbar</li>
<li>Rutscht</li>
   </ul></li>
    <li>mower-manual_operation - Manueller Betrieb (0/1) oder mit neuerer Firmware (false/true)</li>
    <li>mower-override_end_time - Zeitpunkt wann der manuelle Betrieb beendet ist</li>
    <li>mower-source_for_next_start - Grudn f&uumlr den n&aumlchsten Start <ul>
                                                              <li>Kein Grund</li>
  <li>M&aumlher wurde geladen</li>
  <li>SensorControl erreicht</li>
  <li>Wochentimer erreicht</li>
  <li>Stoppuhr Timer</li>
  <li>Undefiniert</li>
</ul></li> 
    <li>mower-status - M&aumlher Status (siehe state</li>
    <li>mower-timestamp_next_start - Zeitpunkt des n&aumlchsten geplanten Starts</li>
    <li>radio-connection_status - Status der Funkverbindung</li>
    <li>radio-quality - Indikator f&uumlr die Funkverbindung in Prozent</li>
    <li>radio-state - radio state (schlecht/schwach/gut/Undefiniert)</li>
    <li>state - Staus des M&aumlhers <ul>
                                 <li>Pausiert</li>
<li>M&aumlhen</li>
<li>Suche Ladestation</li>
<li>L&aumldt</li>
<li>M&aumlhen</li>
<li>Wird aktualisiert ...</li>
<li>Wird eingeschaltet ...</li>
<li>Geparkt nach Zeitplan</li>
<li>Geparkt</li>
<li>Der Mäher ist ausgeschaltet</li>
<li>Deaktiviert. Abdeckung ist offen oder PIN-Code erforderlich</li>
<li>Unbekannter Status</li>
<li>Fehler</li>
<li>Neustart ...</li>
<li>Deaktiviert. Manueller Start erforderlich</li>
<li>Manuelles Mähen</li>
<li>Geparkt durch SensorControl</li>
<li>Abgeschlossen</li>
   </ul></li>
  </ul>
  <br><br>
  <a name="GardenaSmartDeviceattributes"></a>
  <b>Attribute</b>
  <ul>
<li>readingValueLanguage - &Aumlnderung der Sprache der Readings (DE/wenn nichts gesetzt ist, dann Englisch) </li>
<li>model - </li>
  </ul>
  <a name="GardenaSmartDeviceset"></a>
  <b>set</b>
  <ul>
    <li>parkUntilFurtherNotice - Parken des M&aumlhers unter Umgehung des Zeitplans</li>
<li>parkUntilNextTimer - Parken bis zum n&aumlchsten Zeitplan</li>
<li>startOverrideTimer - Manuelles m&aumlhen (0 bis 59 Minuten)</li>
<li>startResumeSchedule - Weiterf&uumlhrung des Zeitplans</li>
  </ul>
</ul>

=end html_DE

=cut



Einiges ist mir selbst unklar. Z.b. das Attribut DebugJSON - was macht das genau?
Weiterhin die Readings: authorized_user_ids, zones

Aber jetzt haben wir ja schon mal ein Grundgerüst.



Kenneth

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

mbrak


CoolTux

Zitat von: Kenneth am 23 August 2017, 11:52:58
sodale..

bin zwar noch nicht fertig aber ich hab schon mal angefangen:


GardenaSmartSystem
GardenaSmartBridge
GardenaSmartDevice

Ach Kacke. Sorry mein Fehler. Habe vergessen zu erwähnen das immer nur eine Wikiseite und dann halt mit großen Überschriften pro Modul. Müssen wir mal schauen das wir das zusammen schreiben. Das könne wir aber einfach einen Admin melden und der sagt dann ob wir was machen sollen oder er was macht.
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,

Zitat von: CoolTux am 23 August 2017, 12:36:17
Ach Kacke. Sorry mein Fehler. Habe vergessen zu erwähnen das immer nur eine Wikiseite und dann halt mit großen Überschriften pro Modul. Müssen wir mal schauen das wir das zusammen schreiben. Das könne wir aber einfach einen Admin melden und der sagt dann ob wir was machen sollen oder er was macht.

ich hatte mit einer Seite angefangen und habe dann folgendes bekommen:

ZitatHallo Kenneth,

ich habe gerade gesehen, dass Du an der Doku von Gardena Smart arbeitest. Überlegst Du bitte mal, ob es nicht sinnvoller ist, eine Einstiegsseite (Gardena Smart) zu erstellen und für die Module jeweils eine eigene Seite GardenaSmartBridge und GardenaSmartDevice? Dann würde auch das "Infobox Modul" Insert viel besser passen (und die automatische Verlinkung auf die Commandref, etc.).

Falls Du dazu Hilfe brauchst, einfach hier weiterdiskutieren / -fragen. --Peter (Diskussion) 11:15, 22. Aug. 2017 (CEST)

Aber du kannst gerne einen Admin anschreiben dann wissen wir ob es so wie es jetzt ist richtig oder falsch ist.

Grüße
Intel NUC @Ubuntu > FHEM 5.8
HM-LAN, NanoCul, Signalduino
EchoDot, Gardena Sileno, XT1, Somfy RTS
TabletUI

CoolTux

Nee dann lass das so. Ich finde das ja so auch besser aber bei mir kam ne Mail ob man das auch zusammen schreiben kann.
Also dann bitte genau so lassen. Hast Du super gemacht.

Danke
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

CoolTux

Zitat von: mbrak am 22 August 2017, 22:10:09
Hatte mal Lust :)

Hier die Commandref für Bridge

=pod
=item device
=item summary       Modul to communicate with the GardenaCloud
=item summary_DE    Modul zur Datenübertragung zur GardenaCloud

=begin html

<a name="GardenaSmartBridge"></a>
<h3>GardenaSmartBridge</h3>
<ul>
  <u><b>Prerequisite</b></u>
  <br><br>
  <li>In combination with GardenaSmartDevice this FHEM Module controls the communication between the GardenaCloud and connected Devices like Mover, Watering_Computer, Temperature_Sensors</li>
  <li>Installation of the following packages: apt-get install libio-socket-ssl-perl</li>
  <li>The Gardena-Gateway and all connected Devices must be correctly installed in the GardenaAPP</li>
</ul>
<br>
<a name="GardenaSmartBridgedefine"></a>
<b>Define</b>
<ul><br>
  <code>define &lt;name&gt; GardenaSmartBridge &lt;Account-EMail&gt; &lt;Account-Passwort&gt;</code>
  <br><br>
  Beispiel:
  <ul><br>
    <code>define Gardena_Bridge GardenaSmartBridge me@email.me secret</code><br>
  </ul>
  <br>
  &ltAccount-EMail&GT Email Adresse which was used in the GardenaAPP<br>
  &ltAccount-Passwort&GT Passwort which was used in the GardenaAPP<br>
  The GardenaSmartBridge device is created in the room GardenaSmart, then the devices of Your system are recognized automatically and created in FHEM. From now on the devices can be controlled and changes in the GardenaAPP are synchronized with the state and readings of the devices.
  <br><br>
  <a name="GardenaSmartBridgeset"></a>
  <b>set</b>
  <ul>
    <li>getDeviceState - Starts a Datarequest</li>
<li>getToken - Gets a new Session-ID</li>
  </ul>
  <br><br>
  <a name="GardenaSmartBridgereadings"></a>
  <br><br>
  <b>Readings</b>
  <ul>
    <li>address - your Adress (Longversion)</li>
    <li>authorized_user_ids - </li>
    <li>city - Zip, City</li>
    <li>devices - Number of Devices in the Cloud (Gateway included)</li>
    <li>lastRequestState - Last Status Result</li>
    <li>latitude - Breitengrad des Grundstücks</li>
    <li>longitude - Längengrad des Grundstücks</li>
    <li>name - Name of your Garden – Default ,,My Garden"</li>
    <li>state - State of the Bridge</li>
    <li>token - SessionID</li>
    <li>zones - </li>
  </ul>
  <br><br>
  <a name="GardenaSmartBridgeattributes"></a>
  <b>Attributes</b>
  <ul>
<li>debugJSON - </li>
<li>disable - Disables the Bridge</li>
<li>interval - Interval in Minutes (Default=5)</li>
  </ul>
</ul>


=end html

=begin html_de

<a name="GardenaSmartBridge"></a>
<h3>GardenaSmartBridge</h3>
<ul>
  <u><b>Voraussetzungen</b></u>
  <br><br>
  <li>Zusammen mit dem Device GardenaSmartDevice stellt dieses FHEM Modul die Kommunikation zwischen der GardenaCloud und Fhem her. Es können damit Rasenmäher, Bewässerungscomputer und Bodensensoren überwacht und gesteuert werden</li>
  <li>Das Perl-Modul "SSL Packet" wird benötigt.</li>
  <li>Unter Debian (basierten) System, kann dies mittels "apt-get install libio-socket-ssl-perl" installiert werden.</li>
  <li>Das Gardena-Gateway und alle damit verbundenen Geräte und Sensoren m&uumlssen vorab in der GardenaApp eingerichtet sein.</li>
</ul>
<br>
<a name="GardenaSmartBridgedefine"></a>
<b>Define</b>
<ul><br>
  <code>define &lt;name&gt; GardenaSmartBridge &lt;Account-EMail&gt; &lt;Account-Passwort&gt;</code>
  <br><br>
  Beispiel:
  <ul><br>
    <code>define Gardena_Bridge GardenaSmartBridge me@email.me secret</code><br>
  </ul>
  <br>
  &ltAccount-EMail&GT Email Adresse, die auch in der GardenaApp verwendet wurde<br>
  &ltAccount-Passwort&GT Passwort, welches in der GardenaApp verwendet wurde<br>
  Das Bridge Device wird im Raum GardenaSmart angelegt und danach erfolgt das Einlesen und automatische Anlegen der Ger&aumlte. Von nun an k&oumlnnen die eingebundenen Ger&aumlte gesteuert werden. &Aumlnderungen in der APP werden mit den Readings und dem Status syncronisiert.
  <br><br>
  <a name="GardenaSmartBridgeset"></a>
  <b>set</b>
  <ul>
    <li>getDeviceState - Startet eine Abfrage der Daten.</li>
<li>getToken - Holt eine neue Session-ID</li>
  </ul>
  <br><br>
  <a name="GardenaSmartBridgereadings"></a>
  <br><br>
  <b>Readings</b>
  <ul>
    <li>address - Adresse, welche in der App eingetragen wurde (Langversion)</li>
    <li>authorized_user_ids - </li>
    <li>city - PLZ, Stadt</li>
    <li>devices - Anzahl der Geräte, welche in der GardenaCloud angemeldet sind (Gateway zählt mit)</li>
    <li>lastRequestState - Letzter abgefragter Status der Bridge</li>
    <li>latitude - Breitengrad des Grundstücks</li>
    <li>longitude - Längengrad des Grundstücks</li>
    <li>name - Name für das Grundstück – Default ,,My Garden"</li>
    <li>state - Status der Bridge</li>
    <li>token - SessionID</li>
    <li>zones - </li>
  </ul>
  <br><br>
  <a name="GardenaSmartBridgeattributes"></a>
  <b>Attribute</b>
  <ul>
<li>debugJSON - </li>
<li>disable - Schaltet die Datenübertragung der Bridge ab</li>
<li>interval - Abfrageinterval in Minuten (Default=5)</li>
  </ul>
</ul>

=end html_DE

=cut


Und hier für das Device
=pod
=item device
=item summary       Modul to control GardenaSmart Devices
=item summary_DE    Modul zur Steuerung von GardenaSmartger&aumlten

=begin html

<a name="GardenaSmartDevice"></a>
<h3>GardenaSmartDevice</h3>
<ul>
  In combination with GardenaSmartBridge this FHEM Module controls the GardenaSmart Device using the GardenaCloud
  <br><br>
  Once the Bridge device is created, the connected devices are automatically recognized and created in FHEM. <br>
  From now on the devices can be controlled and changes in the GardenaAPP are synchronized with the state and readings of the devices.
<a name="GardenaSmartDevicereadings"></a>
</ul>
<br>
<ul>
  <b>Readings</b>
  <ul>
  <li>battery-charging - Indicator if the Battery is charged (0/1) or with newer Firmware (false/true)</li>
    <li>battery-level - load percentage of the Battery</li>
    <li>battery-rechargeable_battery_status - healthyness of the battery (out_of_operation/replace_now/low/ok)</li>
    <li>device_info-category - category of device (mower/watering_computer)</li>
    <li>device_info-last_time_online - timestamp of last radio contact</li>
    <li>device_info-manufacturer - manufacturer</li>
    <li>device_info-product - product type</li>
    <li>device_info-serial_number - serial number</li>
    <li>device_info-sgtin - </li>
    <li>device_info-version - firmware version</li>
    <li>firmware-firmware_command - firmware command (idle/firmware_cancel/firmware_upload/unsupported)</li>
    <li>firmware-firmware_status - firmware status </li>
    <li>firmware-firmware_update_start - indicator when a firmwareupload is started</li>
    <li>firmware-firmware_upload_progress - progress indicator of firmware update</li>
    <li>firmware-inclusion_status - inclusion status</li>
    <li>internal_temperature-temperature - internal device temperature</li>
    <li>mower-error - actual error message <ul>
                                         <li>no_message</li>
<li>outside_working_area</li>
<li>no_loop_signal</li>
<li>wrong_loop_signal</li>
<li>loop_sensor_problem_front</li>
<li>loop_sensor_problem_rear</li>
<li>trapped</li>
<li>upside_down</li>
<li>low_battery</li>
<li>empty_battery</li>
<li>no_drive</li>
<li>lifted</li>
<li>stuck_in_charging_station</li>
<li>charging_station_blocked</li>
<li>collision_sensor_problem_rear</li>
<li>collision_sensor_problem_front</li>
<li>wheel_motor_blocked_right</li>
<li>wheel_motor_blocked_left</li>
<li>wheel_drive_problem_right</li>
<li>wheel_drive_problem_left</li>
<li>cutting_system_blocked</li>
<li>invalid_sub_device_combination</li>
<li>settings_restored</li>
<li>electronic_problem</li>
<li>charging_system_problem</li>
<li>tilt_sensor_problem</li>
<li>wheel_motor_overloaded_right</li>
<li>wheel_motor_overloaded_left</li>
<li>charging_current_too_high</li>
<li>temporary_problem</li>
<li>guide_1_not_found</li>
<li>guide_2_not_found</li>
<li>guide_3_not_found</li>
<li>difficult_finding_home</li>
<li>guide_calibration_accomplished</li>
<li>guide_calibration_failed</li>
<li>temporary_battery_problem</li>
<li>battery_problem</li>
<li>alarm_mower_switched_off</li>
<li>alarm_mower_stopped</li>
<li>alarm_mower_lifted</li>
<li>alarm_mower_tilted</li>
<li>connection_changed</li>
<li>connection_not_changed</li>
<li>com_board_not_available</li>
<li>slipped</li>
   </ul></li>
    <li>mower-manual_operation - (0/1) or with newer Firmware (false/true)</li>
    <li>mower-override_end_time - manual override end time</li>
    <li>mower-source_for_next_start - source for the next start <ul>
                                                              <li>no_source</li>
  <li>mower_charging</li>
  <li>completed_cutting_autotimer</li>
  <li>week_timer</li>
  <li>countdown_timer</li>
  <li>undefined</li>
</ul></li> 
    <li>mower-status - mower state (see state)</li>
    <li>mower-timestamp_next_start - timestamp of next scheduled start</li>
    <li>radio-connection_status - state of connection</li>
    <li>radio-quality - percentage of the radio quality</li>
    <li>radio-state - radio state (bad/poor/good/undefined)</li>
    <li>state - state of the mower <ul>
                                 <li>paused</li>
<li>ok_cutting</li>
<li>ok_searching</li>
<li>ok_charging</li>
<li>ok_leaving</li>
<li>wait_updating</li>
<li>wait_power_up</li>
<li>parked_timer</li>
<li>parked_park_selected</li>
<li>off_disabled</li>
<li>off_hatch_open</li>
<li>unknown</li>
<li>error</li>
<li>error_at_power_up</li>
<li>off_hatch_closed</li>
<li>ok_cutting_timer_overridden</li>
<li>parked_autotimer</li>
<li>parked_daily_limit_reached</li>
   </ul></li>
  </ul>
  <br><br>
  <a name="GardenaSmartDeviceattributes"></a>
  <b>Attributes</b>
  <ul>
<li>readingValueLanguage - Change the Language of Readings (DE/if not set the default is english) </li>
<li>model - </li>
  </ul>
  <a name="GardenaSmartDeviceset"></a>
  <b>set</b>
  <ul>
    <li>parkUntilFurtherNotice</li>
<li>parkUntilNextTimer</li>
<li>startOverrideTimer - 0 to 59 Minutes</li>
<li>startResumeSchedule</li>
  </ul>
</ul>


=end html

=begin html_de

<a name="GardenaSmartDevice"></a>
<h3>GardenaSmartDevice</h3>
<ul>
  Zusammen mit dem Device GardenaSmartDevice stellt dieses FHEM Modul die Kommunikation zwischen der GardenaCloud und Fhem her.
  <br><br>
  Wenn das GardenaSmartBridge Device erzeugt wurde, werden verbundene Ger&aumlte automatisch erkannt und in Fhem angelegt.<br>
  Von nun an k&oumlnnen die eingebundenen Ger&aumlte gesteuert werden. &Aumlnderungen in der APP werden mit den Readings und dem Status syncronisiert.
<a name="GardenaSmartDevicereadings"></a>
</ul>
<br>
<ul>
  <b>Readings</b>
  <ul>
  <li>battery-charging - Ladeindikator (0/1) oder mit neuerer Firmware (false/true)</li>
    <li>battery-level - Ladezustand der Batterie in Prozent</li>
    <li>battery-rechargeable_battery_status - Zustand der Batterie (Ausser Betrieb/Kritischer Batteriestand, wechseln Sie jetzt/Niedrig/oK)</li>
    <li>device_info-category - Eigenschaft des Ger&Aumltes (M&aumlher/Bew&aumlsserungscomputer/Bodensensor)</li>
    <li>device_info-last_time_online - Zeitpunkt der letzten Funkübertragung</li>
    <li>device_info-manufacturer - Hersteller</li>
    <li>device_info-product - Produkttyp</li>
    <li>device_info-serial_number - Seriennummer</li>
    <li>device_info-sgtin - </li>
    <li>device_info-version - Firmware Version</li>
    <li>firmware-firmware_command - Firmware Kommando (Nichts zu tun/Firmwareupload unterbrochen/Firmwareupload/nicht unterstützt)</li>
    <li>firmware-firmware_status - Firmware Status </li>
    <li>firmware-firmware_update_start - Firmwareupdate (0/1) oder mit neuerer Firmware (false/true)</li>
    <li>firmware-firmware_upload_progress - Firmwareupdatestatus in Prozent</li>
    <li>firmware-inclusion_status - Einbindungsstatus</li>
    <li>internal_temperature-temperature - Interne Geräte Temperatur</li>
    <li>mower-error - Aktuelle Fehler Meldung <ul>
                                         <li>Kein Fehler</li>
<li>Au&szligerhalb des Arbeitsbereichs</li>
<li>Kein Schleifensignal</li>
<li>Falsches Schleifensignal</li>
<li>Problem Schleifensensor, vorne</li>
<li>Problem Schleifensensor, hinten</li>
<li>Eingeschlossen</li>
<li>Steht auf dem Kopf</li>
<li>Niedriger Batteriestand</li>
<li>Batterie ist leer</li>
<li>Kein Antrieb</li>
<li>Angehoben</li>
<li>Eingeklemmt in Ladestation</li>
<li>Ladestation blockiert</li>
<li>Problem Sto&szligsensor hinten</li>
<li>Problem Sto&szligsensor vorne</li>
<li>Radmotor rechts blockiert</li>
<li>Radmotor links blockiert</li>
<li>Problem Antrieb, rechts</li>
<li>Problem Antrieb, links</li>
<li>Schneidsystem blockiert</li>
<li>Fehlerhafte Verbindung</li>
<li>Standardeinstellungen</li>
<li>Elektronisches Problem</li>
<li>Problem Ladesystem</li>
<li>Kippsensorproblem</li>
<li>Rechter Radmotor &uumlberlastet</li>
<li>Linker Radmotor &uumlberlastet</li>
<li>Ladestrom zu hoch</li>
<li>Vorübergehendes Problem</li>
<li>SK 1 nicht gefunden</li>
<li>SK 2 nicht gefunden</li>
<li>SK 3 nicht gefunden</li>
<li>Problem die Ladestation zu finden</li>
<li>Kalibration des Suchkabels beendet</li>
<li>Kalibration des Suchkabels fehlgeschlagen</li>
<li>Kurzzeitiges Batterieproblem</li>
<li>Batterieproblem</li>
<li>Alarm! M&aumlher ausgeschalten</li>
<li>Alarm! Mäher gestoppt</li>
<li>Alarm! Mäher angehoben</li>
<li>Alarm! Mäher gekippt</li>
<li>Verbindung geändert</li>
<li>Verbindung nicht geändert</li>
<li>COM board nicht verfügbar</li>
<li>Rutscht</li>
   </ul></li>
    <li>mower-manual_operation - Manueller Betrieb (0/1) oder mit neuerer Firmware (false/true)</li>
    <li>mower-override_end_time - Zeitpunkt wann der manuelle Betrieb beendet ist</li>
    <li>mower-source_for_next_start - Grudn f&uumlr den n&aumlchsten Start <ul>
                                                              <li>Kein Grund</li>
  <li>M&aumlher wurde geladen</li>
  <li>SensorControl erreicht</li>
  <li>Wochentimer erreicht</li>
  <li>Stoppuhr Timer</li>
  <li>Undefiniert</li>
</ul></li> 
    <li>mower-status - M&aumlher Status (siehe state</li>
    <li>mower-timestamp_next_start - Zeitpunkt des n&aumlchsten geplanten Starts</li>
    <li>radio-connection_status - Status der Funkverbindung</li>
    <li>radio-quality - Indikator f&uumlr die Funkverbindung in Prozent</li>
    <li>radio-state - radio state (schlecht/schwach/gut/Undefiniert)</li>
    <li>state - Staus des M&aumlhers <ul>
                                 <li>Pausiert</li>
<li>M&aumlhen</li>
<li>Suche Ladestation</li>
<li>L&aumldt</li>
<li>M&aumlhen</li>
<li>Wird aktualisiert ...</li>
<li>Wird eingeschaltet ...</li>
<li>Geparkt nach Zeitplan</li>
<li>Geparkt</li>
<li>Der Mäher ist ausgeschaltet</li>
<li>Deaktiviert. Abdeckung ist offen oder PIN-Code erforderlich</li>
<li>Unbekannter Status</li>
<li>Fehler</li>
<li>Neustart ...</li>
<li>Deaktiviert. Manueller Start erforderlich</li>
<li>Manuelles Mähen</li>
<li>Geparkt durch SensorControl</li>
<li>Abgeschlossen</li>
   </ul></li>
  </ul>
  <br><br>
  <a name="GardenaSmartDeviceattributes"></a>
  <b>Attribute</b>
  <ul>
<li>readingValueLanguage - &Aumlnderung der Sprache der Readings (DE/wenn nichts gesetzt ist, dann Englisch) </li>
<li>model - </li>
  </ul>
  <a name="GardenaSmartDeviceset"></a>
  <b>set</b>
  <ul>
    <li>parkUntilFurtherNotice - Parken des M&aumlhers unter Umgehung des Zeitplans</li>
<li>parkUntilNextTimer - Parken bis zum n&aumlchsten Zeitplan</li>
<li>startOverrideTimer - Manuelles m&aumlhen (0 bis 59 Minuten)</li>
<li>startResumeSchedule - Weiterf&uumlhrung des Zeitplans</li>
  </ul>
</ul>

=end html_DE

=cut



Einiges ist mir selbst unklar. Z.b. das Attribut DebugJSON - was macht das genau?
Weiterhin die Readings: authorized_user_ids, zones

Aber jetzt haben wir ja schon mal ein Grundgerüst.

Da hattest Du aber große Lust. Bridge habe ich schon eingepflegt. Device mache ich heute Abend. Super Arbeit. Danke
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

CoolTux

Ich habe soeben die Version 0.1.0 ins Git geladen.
Hinzugekommen ist die Commandref für beide Module (Danke noch mal an Michael) sowie eine kleine Erweiterung bei der Sprachauswahl. Statt nur de ist nun noch en hinzugekommen. Grund ist, wenn Leute global DE als Sprache gewählt haben, aber die Readings in Englisch haben wollen war das bisher nicht möglich gewesen. Nun ist es das.


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,

schau mal beim Zeitstempel für "mower-timestamp_next_start" fehlen die Sekunden...  Seit 0.0.58 und 0.1.0 hat es auch.


2017-08-24_16:10:12 J.A.R.V.I.S mower-timestamp_next_start: 1969-12-31 23:00:
2017-08-24_16:10:12 J.A.R.V.I.S mower-override_end_time: 2017-08-24 20:10:08


Grüße
Intel NUC @Ubuntu > FHEM 5.8
HM-LAN, NanoCul, Signalduino
EchoDot, Gardena Sileno, XT1, Somfy RTS
TabletUI

CoolTux

Zitat von: Kenneth am 24 August 2017, 17:17:57
Hi,

schau mal beim Zeitstempel für "mower-timestamp_next_start" fehlen die Sekunden...  Seit 0.0.58 und 0.1.0 hat es auch.


2017-08-24_16:10:12 J.A.R.V.I.S mower-timestamp_next_start: 1969-12-31 23:00:
2017-08-24_16:10:12 J.A.R.V.I.S mower-override_end_time: 2017-08-24 20:10:08


Grüße

Meinst Du mit 0.0.58 nur die Sekunden bei also 0 Sekunden und die Hundertstel?
Ich habe schon bemerkt das es Wohn hin und wieder Probleme geben muss, hatte dann immer Fehlermeldung im Log
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