Posts by Robby

    Rasp-Berlin

    Beim Rollormotor liegt eine Beschreibung bei, wie man ihn mit der Fritzbox einbinden muss.
    Man bindet ihn wie bei W-LAN ein, nur es wird statt die W-LAN Taste die  DECT Taste betätigt.

    Anschließend findet man den Rollormotor unter  SmartHome --> Geräte und Gruppen .

    Wie die anderen Smart Home Geräte auch.

    Dort kann man die AIN Nummer unter Allgemein auslesen.

    Das Leerzeichen muss entfernt werden und am Ende  -1  hinzugefügt werden.


    PS:

    Habe es mal etwas genauer beschrieben, für die, die nicht so viel Erfahrungen mit der Fritzbox haben

    Danke für eure Infos.

    hyle

    Ich wollte hier keinen Roman schreiben, deswegen habe ich die Variablen so angegeben.

    Der Code von Zeile 5 funktioniert, da ich Steckdosen und Heizkörperregler von AVM benutze.

    Und mir war auch klar, dass die Leerzeichen in der AIN nicht mit eingegeben werden darf.


    Habe es jetzt ans laufen bekommen.

    Hatte mich auch an AVM gewand und die hatten sich nicht gemeldet.

    Heute morgen habe ich von denen eine Mail bekommen. Die Abteilung hatte nur sehr viel zu tun und hatten bis gestern Urlaub.


    AVM schrieb:

    Quote

    Beim RolloTron handelt es sich um ein Device vom Typ HAN-FAN.

    Wie in der AHA-API beschrieben muss für HAN-FAN Devices die AIN der HANFUN-Unit angegeben werden, die wahrscheinlich auf "-1" endet.
    In Ihrem Fall also wahrscheinlich "142760533929-1".

    HAN-FAN war mir bis jetzt nicht geläufig.

    Nachdem ich die AIN um   -1  erweitert habe funktioniert das ganze jetzt.

    Ich habe ein kleines Problem und könnte Unterstützung gebrauchen.

    Da es etwas spezielles ist, habe ich eine Frage, ob es hier einen USER gibt, der diesen Rollormotor über das HTTP Interface von AVM schon mal eingerichtet hat. Information zum HTTP Interface. Oder sich darin etwas auskennt.

    Das Script für die Steckdose sieht so aus:

    Code
    $ahaurl = 'http://fritz.box/webservices/homeautoswitch.lua';
    $sid = wird in anderen Script erstellt
    $ain = Identifikationsnummer zb: 14276765533929
    $cmd = setswitchtoggle
      $url=$ahaurl."?sid=$sid"."&ain=".rawurlencode($ain).'&switchcmd='.$cmd;
      file_get_contents($url);
      echo $url;

    Hierrüber schalte ich die Steckdosen von AVM ein und aus.


    Nach den Unterlagen von AVM müßte eigentlich das Script für den Rollormotor so aussehen:

    Code
    $ahaurl = 'http://fritz.box/webservices/homeautoswitch.lua';
    $sid = wird in anderen Script erstellt
    $ain = Identifikationsnummer zb: 14276765533929
    $cmd = setblind
      $url=$ahaurl."?sid=$sid"."&ain=".rawurlencode($ain).'&switchcmd='.$cmd.'&target=open';
      file_get_contents($url);
      echo $url;

    wobei target den Wert "open,close oder stop" sein kann.  failed to open stream: HTTP request failed! HTTP/1.0 500 Internal Server Error .


    Kann mir einer eventuell sagen, was ich falsch gemacht haben könnte?

    __blackjack__

    Danke für deine Hilfe.

    Das ist richtig. Habe es übersehen. Durch die Änderung der ID funktioniert es jetzt wie es soll.

    Aber ich habe noch eine Frage bez. bitte.


    Wie bekomme ich den Wert von der ID "refresh" in eine Variable so das ich die in PHP weiter verwenden kann?

    Ich habe ein jquery script der mir über ein Monitor unter anderem auch die Temperatur von draußen anzeigt


    Footer_Sonne.php

    Jetzt möchte ich gerne über ein anderen Script, aber auf der gleichen Web Seite mir die Luftfeuchtigkeit und die Temperatur vom Wohnzimmer anzeigen lassen

    Dazu habe ich ein neues Script erstellt und entsprechend angepaßt.


    Footer_Wohnzimmer.php

    Da treten jetzt meine Probleme auf, denn wenn ich das Script einbinde, zeigt er mir nicht die Luftfeuchtigkeit an, sondern die Temperatur von draußen.

    Also vom ersten Script. Leider kenn ich mich in Jquery noch sehr wenig aus.

    Später wollte ich auch noch die Temperatur vom Wohnzimmer auf die gleiche Art einbinden. Im gleichen Script Footer_Sonne.php .

    Kann mir einer sagen, wo ich den Denkfehler gemacht habe und wie ich das eventuell abändern muss?

    WoW

    Danke für die vielen informationen.

    @DeaD_EyE

    Du hast Recht, ich bin noch ein Anfänger. Bis jetzt habe ich mich mehr oder weniger mit PHP gearbeitet und jetzt fange ich mit Python an.

    Und du hast auch recht, ich habe auf den Raspberry auch ein Webserver laufen.


    @Tell

    Auch deine Argumente sind richtig. Teilweise schalte ich auch die GPIO Ports auch direkt in Python. Aber bei manchen Sachen, da schalte ich nicht nur den Port alleine, da hängt noch einiges hinterher was innerhalb der PHP Datei abgearbeitet wird. Und der Webserver ist schon länger fertig und läuft auch sauber. Dies ist jetzt nur eine Erweiterung die ich mache. Da war es für mich einfacher, das vorhandene PHP script aufzurufen und nur zusätzlich die Variable mit zu übergeben, als alles noch mal neu zu schreiben.

    Hallo liebe Forenfreunde,

    Ich habe gerade ein kleines Problem.

    Möchte aus Python ein php script aufrufen mit Übergabe einer Variable.

    Die Zeile sieht so aus :

    Code
    os.system( "php /var/www/html/garten/Getstate_EA.php" )

    so habe ich keine Probleme das funktioniert, aber ich möchte es erweitern um eine Variable.

    Im script Getstate_EA.php wird die Variabele über $gpio = $_GET['gpio']; übernommen.

    Die Variable ist eine Zahl. (Der entsprechende GPIO-Port


    Kann mir einer sagen, wie ich die Zeile abändern muss?

    Danke für eure Ratschläge.

    Das dass nicht die feine Art ist weiß ich auch. Nur meine Kenntnisse sind noch nicht so groß das ich solche komplexe Sachen realisieren kann.

    Und was die Sicherheit betrifft, da mach ich mir nicht so die Sorgen, da der Raspberry nicht im W-Lan und auch keine Verbindung zum Internet hat.

    Die 3 Raspberry die ich habe sind über ein seperates LAN Netz mit einande Verbunden.
    Das ich die Zeit der Bewässerung über ein Monitor eingeben kann, möchte ich darüber kontrolieren wie lange die Bewässerung dauert.
    Das ist der Grund warum ich die Restzeit in der Datenbank speichern wollte.

    @TE

    Danke für den Script.

    Bin erst über das f in der Zeile gestolpert. Dachte das wäre dir da zwischen gerutscht.

    Muste aber feststellen das es richtig war. Das war mir bis jetzt unbekannt.

    Steht das f für das im Spring variablen mit eingebunden sind?


    Dennis89

    Danke für den Hinweis. Hatte das erst Anfangs auch anders geschrieben. Nur da ich Probleme hatte, habe ich solche Sachen erst wieder raus genommen um den Fehler einzugrenzen.


    Und Danke für eure schnelle Hilfe

    Hallo und einen schönen guten Abend,

    ich habe ein kleines Problem, wobei ich hoffe, das einer von euch mir helfen kann.

    Ich schreibe gerade ein script in Phyton und da muss ich eine Variable in der Datenbank speichern. Als Datenbank verwende ich SQlite3.

    Das speichern direkt ist nicht das Problem sondern das ich verschiedene Variablen habe.

    Das script sieht so aus:

    Ich verwende ein Python script das mir die einzelnen Rasenflächen wässert. Und diese Schleife verwende ich für alle Felder.

    Aber je nach dem welches Feld gerade bewässert wird, ändert sich in der 7. Zeile die Variablen die mit XXXX gekennzeichnet sind. Im Feld XXXXX_Zeit steht der Name des Feldes wie z.B. RasenKüche_Zeit oder RasenTeich_Zeitund im 2. XXXXXX Feld steht die Bewäasserungszeit zeit der Beregnung.

    in PHP ist das für mich kein Problem aber wie muss ich der String in Python geschrieben werden.

    Für eure Hilfe schon mein herzlichen Dank.

    rpi444 hyle

    Danke für die Hilfestellung.

    Ich habe crontrab sowohl als Benutzer pi und auch als Benutzer www-data ausprobiert. Leider ohne Erfolg.

    Aber durch Zufall habe ich den Fehler jetzt gefunden.

    Der Fehler lag darin, ich wollte testen ob die Scripte laufen nach Zeit. Da habe ich die Uhrzeit eingetragen auf die nächste Minute um zu testen. Das war der Fehler.

    Warum kann ich nicht sagen, vielleicht habt ihr eine Idee woran das liegen kann. Denn contrab führt die Befehle bei diesen pi 1minute eher aus, als angegeben.

    Bei anderen Pi kenn ich es das es die Scripte erst nach 10-20 sek. ausführt. Aber nicht 1min früher als die Systemzeit vom pi.

    Dadurch war die Zeit die ich eingetragen habe im entefekt schon überschritten.

    Hallo KKoPi,

    das weiß ich. Habe mehrere Raspy bei mir am laufen.

    Das ist nicht der Fehler. Und es nicht nur die letzte Zeile die nicht geht, sondern alle 4 die über Zeit laufen gehen nicht.

    Ich habe einen neuen Raspberry aufgesetzt mit aktuellen Paketen.

    Meine Scripte laufen auch soweit. Nun möchte ich einige über crontab nach bestimmten Zeiten starten.

    Die crontab sieht so aus:

    Die beiden die beim Systemstart gestartet werden soll funktionieren.
    Aber alle die nach Zeit gehen nicht.

    Aber wenn ich die Scripte als @reboot ausführe, dann gehen alle.

    Die test.py war nur zum testen dort habe ich nur eine LED ein und ausgeschaltet. Auch das geht nicht und es wird auch keine fehler.txt erzeugt.

    Wenn ich über env -i  den Link aufrufe dann geht es auch.

    Kann mir einer sagen, wo bei mir der Fehler liegt?

    Danke Dennis89

    Das klappt. Habe einen falschen Ansatz verfolgt und den Fehler immer im ersten Script gesucht.

    Das es einfach mit der if Anweisung geht, hatte ich nicht auf den Schirm gehabt.


    Danke nochmal für den Denk Anstoß.

    Hallo liebe Forenmitglieder,


    habe bei mir mehrere Steckdosen KP105 mit den Raspberry am laufen. Das funktioniert auch soweit ganz gut.

    Die Statusabfrage wird über 2 Python Scripte realisiert.


    tplink_smartplug.py

    Auslesen.py

    Das Problem was ich habe, ist wenn eine Steckdose nicht erreichbar ist, das die Abfrage unterbrochen wird. Das Script tplink_smartplug.py gibt zwar wenn ich die Abfrage über der Console mache die Fehlermeldung print ("Cound not connect to host " + ip + ":" + str(port)) aus.


    Um auf meiner Webseite zu erkennen das eine Steckdose ausgefallen ist, benötige ich im Script Auslesen.py den Wert "99" in der Variable outputxx.


    Das ist das Problem was ich im Moment habe.

    Was muss ich ändern, habe schon versucht das zu realisieren. Aber leider habe ich noch zu wenig mit Python bis jetzt zu tun gehabt.

    Setze gerade einen neuen Raspberry auf.

    Bis lang habe ich zur Steuerung der GPIO WringPi benutzt. Aber aus aktuellen Anlass wollte ich die Steuerung jetzt über PIGS steuern.

    Das ein- und auschalten funktioniert auch soweit.

    Nur bei einigen Button habe ich bis jetzt immer die toggle funktion benutzt. Dazu der String


    exec( "gpio -g toggle {$_GET["gpio"]}" ) ;


    Ist das mit PIGS auch möglich. Konnte dazu nichts finden.

    Und wenn ja wie muss der String dabei aussehen?

    Der Hinweis hat mir geholfen. Bekam die Antwort

    Code
    /etc/php/7.4/apache2/php.ini:861:allow_url_include = On
    /etc/php/7.4/cli/php.ini:861:allow_url_include = Off

    Nachdem ich in der anderen php.ini den Wert auch geändert habe geht es jetzt.

    Danke für deine Hilfe

    fred0815

    Danke für deine schnelle Hilfe.

    Habe die Datei gefunden aber bei mir steht die in ein anderes Verzeichnis. /etc/php/7.4/apache2/php.ini

    Habe den Eintrag geändert, brachte aber keinen Erfolg. Ich habe die gleiche Fehlermeldung.

    Oder liegt es jetzt etwa am Script?

    Das Script dazu sieht so aus:

    Ich erstelle gerade für mein Smart Home eine neue Seite die in php geschrieben ist.

    In den Script benötige ich von den anderen Raspberry Variablen die dort in entsprechenden Dateien wie zb.: Temperatur.dat hinterlegt sind.

    Die Datei möchte ich per include einbinden.

    Dabei bekomme ich vom Apache eine Fehlermeldung

    wrapper is disabled in the server configuration by allow_url_include=0

    Habe schon in der config Datei nachgesehen, kann aber den Punkt niergends finden. In welche Datei muss ich die Änderung durchführen?


    Ja ich weiß das es auch mit Sicherheit zu tun hat, aber mein Smart Home ist ein seperates Netz und nicht mit dem Internet verbunden.