+ Antworten
Seite 2 von 2 ErsteErste 1 2
Ergebnis 11 bis 18 von 18
  1. #11
    Registriert seit
    Jun 2020
    Beiträge
    129

    Hallo Fonzo

    Ich hab entdeckt, dass es bei dem Modul einige Funktionen gibt. Ganz im speziellen würde mich ineteressieren was folgene machen

    ONDILO_ReadPoolInformation
    ONDILO_RequestDataFromParent
    ONDILO_SetWebFrontVariable
    ONDILO_Update
    ONDILO_GetListActiveRecommendations
    .
    Was ich gerne machen würde, weil es das offenbar gibt, ist, aktuelle Meldungen/Empfehlungen einzulesen. Dafür denke ich ist die ONDILO_GetListActiveRecommendations zuständig. Das Validate interessiert mich jetzt im moment noch nicht, vielleicht. Schau ma mal.
    Weiters würde ich gerne einen Button einbauen, der aktiv die Daten aktualisiert. Ob jetzt neue Daten da sind oder nicht, ist mal egal. Hintergrund ist der, Mein ICO hat eben mal die WLAN Verbindung verloren und ich hab mit dem Handy und Bluetooth die Messwerte heruntergeladen. Das geht in der App, aber dazu ist eine Bluetoothverbindung notwendig. In IPS hätte es mir allerdings zu lange gedauert, bis die Werte da sind. Daher der Button. Was nehme ich da her? Bin mir nicht sicher, welche Funktion das macht.
    Vielen Dank.

  2. #12
    Registriert seit
    Jun 2020
    Beiträge
    129

    Wollte eben die Funktion zum Validieren der Meldung verwenden und hab dann folgede Fehlermedung erhalten
    HTML-Code:
    Notice: Undefined variable: response in C:\ProgramData\symcon\modules\.store\fonzo.ondilo\Ondillo Cloud\module.php on line 604
    RESULT: in C:\ProgramData\symcon\modules\.store\fonzo.ondilo\Ondilo Device\module.php on line 683
    Mein Code im Skript schaut so aus
    PHP-Code:
    $WebHookID="";
    $WebHookID=$_GET["ID"];
    if(
    $WebHookID != "")
    {
        
    ONDILO_ValidateRecommendation(15799,$WebHookID);
        
    header("Location:".$_SERVER['HTTP_REFERER']."#17134",true); 

    Ist bei mir der Fehler?

  3. #13
    Registriert seit
    Oct 2011
    Ort
    Hattersheim (Hessen)
    Beiträge
    7,288

    Zitat Zitat von hfichtinger Beitrag anzeigen
    ONDILO_ReadPoolInformation
    Liest die Poolinformationen aus
    Zitat Zitat von hfichtinger Beitrag anzeigen
    ONDILO_RequestDataFromParent
    Interne Funktion, nicht mehr direkt zugänglich. Fordert Daten von der IO Instanz an.

    Zitat Zitat von hfichtinger Beitrag anzeigen
    ONDILO_SetWebFrontVariable
    Wird vom Konfigurationsformular aufgerufen, sobald eine Auswahl getroffen wurde eine Variable für den Webfront anzulegen.

    Zitat Zitat von hfichtinger Beitrag anzeigen
    ONDILO_Update
    Wird automatisch durch einen internen Timer zyklisch aufgrufen und aktualisiert sämtliche Geräte Daten. Sollte daher nicht manuell oder über ein Skript aufgerufen werden, da die Aktualisierung automatisch erfolgt.

    Zitat Zitat von hfichtinger Beitrag anzeigen
    ONDILO_GetListActiveRecommendations
    Falls Empfehlungen vorhanden sein sollten, kann man diese mit der Methode abrufen.
    Zitat Zitat von hfichtinger Beitrag anzeigen
    Was ich gerne machen würde, weil es das offenbar gibt, ist, aktuelle Meldungen/Empfehlungen einzulesen. Dafür denke ich ist die ONDILO_GetListActiveRecommendations zuständig.
    Du bekommst dann einen Array zurück, könnte theoretisch noch im Webfront ergänzt werden.

    Zitat Zitat von hfichtinger Beitrag anzeigen
    Weiters würde ich gerne einen Button einbauen, der aktiv die Daten aktualisiert.
    Das geht über Update, allerdings sollte man immer schauen das man nicht an API Limits läuft und dann gesperrt wird.

  4. #14
    Registriert seit
    Jun 2020
    Beiträge
    129

    Danke für die Aufklärung. Das mit den Meldungen hab ich ja schon soweit einbauen können, da ich heute eine bekommen hab. Beim Bestätigen bekomm ich einen Fehler. Wobei ich mir halt nicht sicher bin, ob das an meinem Code liegt.

  5. #15
    Registriert seit
    Oct 2011
    Ort
    Hattersheim (Hessen)
    Beiträge
    7,288

    Zitat Zitat von hfichtinger Beitrag anzeigen
    Wollte eben die Funktion zum Validieren der Meldung verwenden und hab dann folgede Fehlermedung erhalten
    Da ich nie Empfehlungen ausgelesen hatte, war da noch ein Fehler drinnen. Zu beachten ist, dass die richtige ID übergeben wird, diese sollte in der Antwort auf
    PHP-Code:
    ONDILO_GetListActiveRecommendations 
    enthalten sein.

  6. #16
    Registriert seit
    Jun 2020
    Beiträge
    129

    Perfekt. Jetzt funktioniert es. Vielen Dank!
    Hier nochmal der gesamte code zum Auslesen und Anzeige in einer HTML-Box. Besttigen geht auch, aber so gefällt mir die Lösung noch nicht.
    PHP-Code:
    <?php

    //Start writing your code here
    $WebHookID="";
    $WebHookID=$_GET["ID"];
    if(
    $WebHookID != "")
    {
        
    ONDILO_ValidateRecommendation(15799,strval($WebHookID));
        
    header("Location:".$_SERVER['HTTP_REFERER']."#17134",true); 
    }

    $Empfehlung=json_decode(ONDILO_GetListActiveRecommendations(15799),true);
    $Anzahl count($Empfehlung);

    if (
    $Anzahl == ) { 
        
    $Empfehlung_HTML="Keine neuen Empfehlungen vorhanden.";
    }
    else
    {
        
    $Empfehlung_HTML="<table style=\"width:100%\">";
        
    $Empfehlung_HTML $Empfehlung_HTML."<tr><th>Titel</th><th>Nachricht</th><th>Erstellt</th><th>Status</th><th>Bestätigen</th></tr>";
        for (
    $i=0;$i<=$Anzahl-1;$i++)
        {
            
    $Empfehlung_HTML $Empfehlung_HTML."<tr>";
            
    $Empfehlung_HTML $Empfehlung_HTML."
                                <td>"
    .$Empfehlung[$i]["title"]."</td>"."
                                <td>"
    .$Empfehlung[$i]["message"]."</td>"."
                                <td>"
    .$Empfehlung[$i]["created_at"]."</td>"."
                                <td>"
    .$Empfehlung[$i]["status"]."</td>"."
                                <td><a href=\"/hook/ICOValidieren?ID="
    .$Empfehlung[$i]["id"]."\">Ok</a>".
                                
    "</td>";
            
    $Empfehlung_HTML $Empfehlung_HTML."</tr>";
        }
        
    $Empfehlung_HTML $Empfehlung_HTML."</table>";
        
    WFC_PushNotification(17134,"Pool","Es sind neue Empfehlungen vorhanden!","",0);
        
    WFC_SendNotification(17134,"Pool","Es sind neue Empfehlungen vorhanden!","",0);
    }
    SetValue(49458,$Empfehlung_HTML);
    Geändert von hfichtinger (Heute um 13:26 Uhr)

  7. #17
    Registriert seit
    Oct 2011
    Ort
    Hattersheim (Hessen)
    Beiträge
    7,288

    Zitat Zitat von hfichtinger Beitrag anzeigen
    Perfekt. Jetzt funktioniert es.
    Falls Du Dir irgendwas in Form eine HTMLBox zurecht gebaut hast und das soweit auf Funktion getestet hast, kannst Du ja vielleicht den Inhalt der HTMLBox mal zur Verfügung stellen, dann kann das noch in das Modul ergänzt werden.

  8. #18
    Registriert seit
    Jun 2020
    Beiträge
    129

    Ich hab oben den Code reingestellt.
    Deine Funktion lieft folgendes
    PHP-Code:
    "[{"id":1042072,"title":"Add 246 g of pH+","message":"Your pH level is lowI suggest adding pH increaser to improve your sanitizer performance and balance your water.","created_at":"2020-07-09T05:15:11+0000","updated_at":"2020-07-09T05:15:11+0000","status":"waiting","deadline":"2020-07-11T00:00:00+0000"}]" 
    Wie ich erfahren hab ist das ein json Format. Mit "json_decode" hab ich es in zweidimensionales array verfrachtet. Es können theoretisch mehrere Meldungen auf einmal kommen. Und diese beziehen sich nicht immer auf die Chemie. Einmal die Woche kommt die Erinnerung zum Reinigen und wenn das Wetter schlecht wird, dann kommt die Empfehlung, den Pool zuzumachen. Leider kommen die Meldungen auf Englisch. Oder glücklicherweise. Ich hätte es auf französisch erwartet ;-). Wichtig ist eigentlich nur die ID für die Bestätigung. Der Status wechselt beim validieren. In der App sehe ich die Meldung noch und könnte auf "Fertig" wechseln. Ich denke validieren bedeutet für sie, ich habs gesehen und fertig ich habs getan. Die mit Status validiert (oder wie auch immer der heißt) sehe ich in IPS nicht mehr. Braucht auch keiner.

    Ich hab das mal ungeschaut durch den google translator laufen lassen. Keine Ahnung ob man den in IPS on demand verwenden kann, aber das Ergebnis ist nicht mal so schlecht.
    PHP-Code:
    {"id"1042072"title""246 g pH + hinzufügen""message""Ihr pH-Wert ist niedrig. Ich empfehle, den pH-Wert zu erhöhen, um die Leistung Ihres Desinfektionsmittels zu verbessern und Ihr Wasser auszugleichen.""created_at" " 11T00: 00: 00 + 0000 "}] 
    Kommt dem Text sehr nahe, der in der App angezeigt wird. Da ist er auf Deutsch. Wobei ich denke die lassen den auch automatisiert Übersetzten.

    Solltest du noch etwas brauchen, gerne. Die nächste Meldung kommt bestimmt, schon alleine weil das Wochenende kommt ;-).

Ähnliche Themen

  1. Bewegung von IP Kamera erfassen
    Von MarcelL im Forum Allgemeine Diskussion
    Antworten: 0
    Letzter Beitrag: 13.09.19, 14:09
  2. Antworten: 5
    Letzter Beitrag: 03.11.16, 00:35
  3. Antworten: 79
    Letzter Beitrag: 30.09.16, 05:54
  4. Antworten: 12
    Letzter Beitrag: 01.03.11, 11:32
  5. ICO-Files im Designer verwenden?
    Von wolfi3300 im Forum Dashboard
    Antworten: 2
    Letzter Beitrag: 06.01.08, 14:09

Stichworte