====== MIYOplugin ====== ++++ Version History...| **Version v0.05 vom 31.03.2020** * im Web-Interface größere Buttons * preupgrade.sh erzeugt nun ggf. Verzeichnis uploads * Schiebeschalter nun grau bei "off" und grün bei "on" * erweiterte CGI-Debug-Funktion; default: off; enable mit $myDebug = 1 in der index.cgi * Anzeige der Versionsnummer im Header * Nachinstallation von setuptools in postroot.sh wg. Installationsproblemen bei neueren LB-Images * Anpassung in service.sh - chown -R * Verbesserung für Umlaute in Bereichsnamen ****Version v0.04 vom 31.10.2019**** * Vorbereitung auf LoxBerry v2.0 * Umlaute in den Bereichsnamen der MIYO-App möglich * kleinere Optimierungen hinsichtlich Logging und Fehlererkennung und -behebung\\ (Rechte Logfiles, fehlende Python-Module: Reparatur über service.sh repair möglich) * miyoplugin.service und andere Files nun ohne x-Rechte * Konstante maxdev in index.cgi eingeführt für mehr als 10 Kreise/Ventile/Sensoren * postroot.sh: service.sh restart raus; dafür repair rein * postupgrade.sh: service.sh restart rein * wsconnected=False als default; running=0-Meldung nur noch wenn Websocket offen war * Start-/Stopmeldungen des Plugins nun in allen konfigurierten Logfiles * Info-Meldungen im Haupt-Logfile (logfile/UDP-Sende-Log) zentralisiert **Version v0.03 vom 15.07.2019** * log-Dateien wurden nach Loeschen (etwa durch logrotate) nicht weitergeschrieben?\\ vorn: import logging.handlers und in setup_logger statt\\ handler = logging.FileHandler(log_file) jetzt\\ handler = logging.handlers.WatchedFileHandler(log_file) # neu ab v0.3 * max 10 als Konstante maxdev * prgname und prgver als Konstante * sndPrint und logPrint enthaelt nun "### " * Variable "gefunden" ist useless - entfernt * nach Neustart des LoxBerry fehlt das systemctl import-environment \\ in miyoplugin.service: EnvironmentFile=/etc/environment eingefuegt * nach Neustart des LoxBerry konnten die Log-Files nicht geschrieben werden\\ in miyoplugin.service After=loxberry.service eingetragen\\ wenn ein Plugin (hier BLE-Scanner) Probleme macht, meldet LoxBerry keinen erfolgreichen Start - somit wird miyoplugin NIE gestartet\\ finale Loesung ist offenbar: After=multi-user.target **Version 0.02 vom 29.05.2019** * Remanenz des externBlock-Status eingeführt (EXT_REM) * Fehler beim Speichern der ipv6-Adresse im Conf-File behoben * plugin.cfg: LB_MINIMUM auf 1.0.0 angepasst * Plugin meldet nun Start und Stop des Plugins per UDP (SID=MIYOcentral running=1/0) * Fehler in der Loxone-Vorlage bei den Sensor-Eingängen behoben * running, updated, forecast und temperature nun auch Bestandteil der Loxone-Vorlage * Update-Funktion des Plugins modifiziert; daemon-reload sollte nun funktionieren **Version 0.01 vom 19.05.2019** * erste öffentliche Version ++++ ---- ===== Download ===== http://miyoplugin.phantasoft.de/files/loxberry-MIYOplugin.zip ===== Installation ===== siehe http://miyoplugin.phantasoft.de Grundsätzlich sollte das komplette MIYO-System zuerst über die MIYO-App des Herstellers eingelernt und konfiguriert werden: - App aus dem jeweiligen Shop holen (siehe  [[https://loxwiki.atlassian.net/wiki/pages/resumedraft.action?draftId=1231423167#Links|MIYOplugin#Links]]) - Cube mit LAN und Strom versorgen - MIYO-App starten und den Anweisungen dort folgen - entsprechend der Anweisungen in der App die Geräte per Magneten anlernen Wenn soweit über die App alles funktioniert, kann die Anbindung an Loxone erfolgen. **Achtung!\\ Bitte auf Umlaute, Leerzeichen und Sonderzeichen in den Bereichsnamen verzichten! Sonst kann es zu Problemen bei der Befehlserkennung innerhalb von Loxone kommen.** Im Hauptbildschirm des LoxBerry ist auf  **//Plugin-Verwaltung//**  zu klicken und der Link des  [[http://miyoplugin.phantasoft.de/files/loxberry-MIYOplugin.zip|loxberry-MIYOplugin.zip]]  unter " //Installiere neues Plugin:// " sowie die SecurePIN einzugeben und auf  **//Installation//** zu klicken. Nach erfolgreicher Installation steht das MIYOplugin unter  **//Plugins//**  in der Hauptübersicht zur [[http://miyoplugin.phantasoft.de/images/MIYOplugin-installation.mp4|weiteren Konfiguration]] und Aktivierung bereit. ===== Konfigurationsoptionen ===== Auf der Einstellungs-Seite sind die Eingabe-Felder auszufüllen und per //**hole API-Key**// -Button - **nachdem der Knopf am Cube gedrückt wurde** - ein API-Key zu generieren. Nach Speichern der Settings über //**Speichern**// können die Informationen zu Bewässerungskreisen, Ventilen und Sensoren vom Cube per Button //**CubeConf**// eingelesen und ggf. modifiziert werden.  Nach einem weiteren //**Speichern**// sind die Konfigurationsdaten abgespeichert und die Konfiguration des Plugins beendet. ===== Funktion des Plugins ===== Das Plugin baut eine Websocket-Schnittstelle zum MIYO-Cube auf und sendet die darüber empfangenen Nachrichten in einem für Loxone leicht verarbeitbaren Format als UDP-Nachrichten an den Loxone Miniserver. Per UDP vom Miniserver eingehende Nachrichten für das MIYO-Bewässerungssystem werden vom Plugin entgegengenommen und wiederum per Websocket an den Cube weitergereicht. Somit lassen sich nicht nur die Daten vom MIYO-System (etwa Temperatur oder Bodenfeuchte oder der Status der Ventile) in Loxone visualisieren oder weiterverarbeiten, sondern auch die Bewässerungsventile durch eigene Logiken innerhalb von Loxone steuern. Das Plugin unterstützt bis zu 10 Bewässerungskreise mit jeweils bis zu 10 Ventilen und einem Sensor. ===== Einrichtung in der Loxone Config Software ===== Das Plugin generiert auf Wunsch durch Klick auf den Button //**Vorlage**// eine Vorlage-Datei mit einer Vielzahl von virtuellen In- und Outputs, die in Loxone importiert werden kann. Auf Grundlage der UDP-Befehlserkennung können aber auch weitere Meldungen vom MIYO-System oder Befehle für das MIYO-System implementiert werden. Aktuell werden innerhalb der Vorlagendatei folgende Werte - für jeden Bewässerungskreis - als virtuelle (analoge) UDP-Inputs angeboten: |MIYO-running (ist Plugin gestartet)\\ MIYO-updated\\ MIYO-forecast (Sperre wg. Wettervorhersage)\\ MIYO-temperature (Temperatur lt. Wettervorhersage)\\ MIYOcircuit-1-irrigationNextStart\\ MIYOcircuit-1-irrigationNextEnd\\ MIYOcircuit-1-irrigation\\ MIYOcircuit-1-externBlock\\ MIYOcircuit-1-automaticMode\\ MIYOvalve-1-valveStatus\\ MIYOvalve-1-lastIrrigationStart\\ MIYOvalve-1-lastIrrigationEnd\\ MIYOvalve-1-lastIrrigationDurationMIYOvalve-1-openValve\\ MIYOvalve-1-lastUpdate\\ MIYOvalve-1-rssi|MIYOvalve-1-reachable\\ MIYOvalve-1-charging\\ MIYOvalve-1-chargingDurationDay\\ MIYOvalve-1-solarVoltage\\ MIYOsensor-1-moisture\\ MIYOsensor-1-brightness\\ MIYOsensor-1-temperature\\ MIYOsensor-1-irrigationNecessary\\ MIYOsensor-1-irrigationPossible\\ MIYOsensor-1-lastUpdate\\ MIYOsensor-1-rssi\\ MIYOsensor-1-reachable\\ MIYOsensor-1-charging\\ MIYOsensor-1-chargingDurationDay\\ MIYOsensor-1-solarVoltage| Enthaltene beschreibbare UDP-Ausgangsverbinder (alle digital) für jeden Bewässerungskreis sind: |MIYOcircuit-1-circuit\\ MIYOcircuit-1-irrigationStart\\ MIYOcircuit-1-irrigationStop|MIYOcircuit-1-automaticMode\\ MIYOcircuit-1-block\\ MIYOcircuit-1-considerMower| Und systemweit sind folgende Dinge von Loxone aus über UDP-Ausgangsverbinder am Cube beschreibbar: |MIYO-reboot\\ MIYO-externMower\\ MIYO-externRain|MIYO-externTemperature\\ MIYO-externWind| Wobei externTemperature und externWind als analoge Ausgangsverbinder (Werte) vorgesehen sind, reboot, externMower und externRain als UDP-Ausgangsverbinder für digitale Zustände. Die Bedeutung der Ein- und Ausgänge sollte sich größtenteils aus den Namen ergeben. Ansonsten ist die [[https://docs.google.com/document/d/1L6VpqlxeMLhBPhA2tzcqQ797lDM75uC-uULQrUCBL5Y/export?format=pdf|API-Beschreibung]] von viRaTec durchaus hilfreich. Konkrete Fragen kann ich aber vermutlich auch beantworten. ===== Fragen stellen und Fehler melden ===== Im Loxforum gibt es für dieses Plugin einen eigenen Thread: https://www.loxforum.com/forum/projektforen/loxberry/plugins/201277 Nachdem der Hersteller des MIYO-Bewässerungssystems - die Firma Viratec mit Sitz in Wien - nunmehr im [[https://mailchi.mp/e5370fd56f05/insolvenzmeldung|Insolvenzverfahren]] und der weitere Betrieb der im Kundeneinsatz befindlichen Geräte fraglich ist, habe ich mich entschlossen, unter https://miyoforum.phantasoft.de/ ein herstellerunabhängiges Forum einzurichten.\\ In einem Rundschreiben an die Kunden hatte der Geschäftsführer Roland Grösslich den Gedanken aufgebracht, das MIYO-System ggf. unter Open Source zu stellen.\\ Zumindest einen ersten Anlaufpunkt für etwaige Realisierungsideen und aktuelle Hilfestellungen möchte ich damit schaffen.\\ Alle MIYO-Nutzer (andere natürlich auch) sind herzlich eingeladen. **Nachtrag 07.08.2020:** **MIYO is back! - der Geschäftsbetrieb ist offenbar wieder vollständig aufgenommen: [[https://www.miyo.garden/de/blog/2020/08/07/miyo-relaunch/|[link]]]** \\ Disclaimer:\\ Ich habe auch weiterhin nichts mit der Firma zu tun. Ich bin (war?) dort nur Kunde und habe dieses Plugin zur Anbindung an Loxone und andere Systeme per UDP (MIYOplugin) nur aus persönlicher Notwendigkeit erstellt. ===== Known issues ===== * der Download der Loxone-Vorlagen-Datei klappt nicht mit dem IE11 - bitte anderen Browser nutzen! ===== Links ===== [[https://play.google.com/store/apps/details?id=at.viratec.miyo|Link zur Android-App im Google PlayStore (externer Link)]]\\ [[https://itunes.apple.com/de/app/miyo/id1348667466?mt=8|die MIYO-App für Geräte mit dem Apfel (externer Link)]]\\ [[https://docs.google.com/document/d/1L6VpqlxeMLhBPhA2tzcqQ797lDM75uC-uULQrUCBL5Y/export?format=pdf|die offizielle API-Beschreibung von viRaTec als PDF (externer Link)]]