[Gelöst] SensorAndSwitch: Pseudoscript für schaltbare Steckdosenleiste: Kookaam Netio 230B

immer noch S##
 
Falls da nichts kommt, wird die Dose nicht erreicht und der Link stimmt irgendwo noch nicht.
 
Stimmt so ein Aufruf für den Status:

http://[B]ipadresse[/B]/cgi/control.cgi?login=p:user:password&p=l
 
ja der stimmt, hinter die ipadresse kommt eben noch :port/cgi/control.cgi....
 
Also demnach als Beispiel: http://123.123.123:456/cgi.....

wobei 456 der Port ist und du in die Variable $ip="123.123.123:456"; im Script eingetragen hast.
 
ganz genau, allerdings hab ich meine dyndns adresse bestehend aus dem namen und nicht zahlen drin

genau die gleichen daten eben wie in meinem html gebastel, und des funktioniert ja von extern !

du ich muß jetz aber den schlaf des gerechten tun, und deine zeit nicht übermäßig strapazieren !!

ich meld mich wieder
guds nächtle
 
Zuletzt bearbeitet:
Okay, kein Problem. Ich vermute der Name wird nicht aufgelöst. Aber machen wir ein anderes Mal weiter. Das muss laufen :)
 
Nochmal als Anmerkung: Der verwendete curl-Aufruf von sas ist kein wirklicher Webbrowser. Der Webserver kann die Adresse nicht über dyndns auflösen. Setze ins script die tatsächliche IP-Adresse der Dose, die sie in deinem Heimnetzwerk hat, ein und es müsst funktionieren.

Wir hatten hier schon einige Probleme mit anderen Webserverkonstellationen, die auch die gleichen Auflösungsprobleme haben. Dein HTML-Dokument wird hingegen von deinem Browser übers Gateway aufgelöst, dass kann der Webserver selbst nicht. Das hört sich seltsam an, ist aber so. Probiere es einfach mal mit der echten IP der Dose innerhalb deines Heimnetzes.

Jep, gute Nacht. :)
Und melde dich, obs funktioniert.
 
ich kannerst heut abend testen,
hätt aber noch ne verständnisfrage:

PHP:
$Status="S#2#";
    if ($_GET["info"]=="status") {
        $Status=web($urlstatus,$post);
        $Status="S#".substr($Status,6,1)."#";
für was genau steht die 6 ???
 
Ich erkläre mal alle Zeilen.

PHP:
$Status="S#2#";
Der Status wird zunächst auf 2 für "keine Verbindungung" mit schwarzem Schalter gesetzt.

PHP:
    if ($_GET["info"]=="status") {
Prüft, ob dem Aufruf "?info=status" mitgegeben wurde, sodass das Script jetzt den Status ermitteln soll.

PHP:
        $Status=web($urlstatus,$post);
Ruft mittels cURL des Webservers die Webadresse der Steckdose auf, die den Status zurückliefern soll und packt das Ergebnis des Aufrufs in die Variable $Status..

PHP:
        $Status="S#".substr($Status,6,1)."#";
Nehmen wir an, dass als Status die Zeichenfolge "0 0 0 1 " zurückgeliefert wurde, so extrahiert der Befehl die entsprechende Dose. Begonnen wird bei der ersten Position mit 0, also:
Code:
0 0 0 1 
01234567
das 7. Zeichen auf Position 6 (bei 1. = 0) und zwar nur eines. Da würde dann "1" rauskommen. $Status wäre dann "S#1#".

Ich hoffe mal, das war verständlich, wenn nicht frag bitte einfach nochmal nach. :)
 
Zuletzt bearbeitet:
ich denk soweit hab ichs begriffen, die "6" ist klar soweit, aber was macht des ,1 direkt nach der 6 ??

so, bin am testen
was hab ich bisher versucht :

1: heimnetz ip der dose ins script eingetragen (192.168.123.123:port) -> geht nicht
2. wan ip der fb ins script eingetragen (xxx.xxx.xxx.xxx:port) -> geht nicht
3. sas komplett gelöscht, 2.10.1800 übertragen und konfiguriert
4. Dect 200 funktioniert astrein
5. pseudosprit und pseudowetter funktioniert astrein

sobald das pseudokookaam1.php im hauptverzeichnis liegt dauerts auch ewig bis die seite erstellt wird !!
ich glaub langsam des liegt an dem ext. webserver
"/pseudokookaam1.php?info=status"
bei dyndns eintrag im script ewiges verbinden und nichts passiert
bei wan ip der fb ewiges verbinden und nichts passiert
bei heimnetzadresse ca 8sec bis : S##

startzeit sensorandswitch.php ca 8 sec ohne kookaam
" " ca 21 sec mit kookaam
 
Zuletzt bearbeitet:
ich hab seit 2.10 noch ein andres seltsames phänomen für ettliche sekunden nach anklicken eines schalters:

nach druck auf kookaam schalter.jpg

druck auf dect 200 -> verbinden... 30sec später -> dieses bild -> verbinden...30sec später wieder alles normal

eigentlich stehn nur
1 dect 200
1 kookaam
1 sprit
1 wetter
drinne
 
So, das muss ich mir erstmal sortieren :)
nach der 6 kommt die Anzahl der Zeichen.

Beispiel:
Code:
abcdefghi
0123456789

...,6,1) bedeutet Position 6, 1 Zeichen. Das wäre "g"
...,6,2) wäre "gh"

Das mit der Dose scheint ein echtes Aufrufproblem zu sein. Auch die 8 sec intern sind zu lang und zeugen davon, dass der URL ins Nirgendwo geht.

Zum Anzeigeproblem: Das muss ich mir in sas genau ansehen. Da ist programmtechnisch irgendwas seltsam, denn das dürfte nicht vorkommen. Welche FW-Version ist auf deiner Fritzbox?
 
Zuletzt bearbeitet:
Fb fw 6.04
 
Verstehe, daher auch keine Temperaturanzeige. Da gibt es noch über den Zweig in sas, umständlich einzeln die Informationen pro Gerät zu holen.

Das muss ich mir genau ansehen. Da dies kaum noch verwendet werden muss, wird mir beim Erstellen der 2er-Version ein Fehler passiert sein und da ich kein Gerät älter FW 6.10 habe, ist es mir nicht aufgefallen. Danke erstmal für den Hinweis.

Aber mit deiner Dose komme ich einfach nicht weiter. Hast du Konsolenzugriff (root) auf das Gerät, wo dein Webserver drauf läuft?

Nachtrag: Auf welchem Gerät läuft dein Webserver und welcher ist es?
 
Zuletzt bearbeitet:
mein problem mit der fritzbox ist das ich wohl selbst kein update installieren kann da es irgendwie von kabelbw direkt eingespielt wird !!
webserver root ist nicht, hab bei evanzo webspace incl server !!
 
Ah, ich vermute, daher kommen die Probleme. Viele Anbieter unterbinden curl (teils auch nur teilweise), sodass dies als nicht vorhandene Funktion gewertet wird. Daher keine curl-Zugriffe. Erlaubt dein Anbieter fopen() ?

Ich habe übrigens deine Umgebung mit FW 6.04 hier gerade simuliert. Da kommen bei mir leider keine doppelten Einträge. Ich empfehle dir, eventuell auf die 1.50 zurückzugehen, solange dein Kabelanbieter noch eine so alte Fritzbox-Version verwendet. Da du keinen eigenen Webserver im Heimnetz selbst hast, hat dies für dich den Vorteil, dass diese Version die alte Firmware bis <6.10 besser unterstützt und du ohnehin keinen Vorteil durch den im Hintergrund arbeitenden cron mit sasap zur Geräteinfo-Beschaffung laufen haben kannst.

Ich gebe dir mal den Direkt-Link: Link gelöscht, da inzwischen im sas-Web
Den Link gibt es im SAS Web nicht, da dort nur die neueste steht.

Ich empfehle dir außerdem, dir einen Webserver direkt im Heimnetz aufzusetzen. Dafür gibt es einige Möglichkeiten. Wenn du keine komplette Hausautomation benötigst, nehme mal zum Testen server2go für den PC, den du als vorbereitetes Paket im sas-Web im Downloadbereich findest. Da steht auch, was zu tun ist. Er ist installationsfrei und kann auch schnell wieder gelöscht werden.

Längerfristig zahlt sich ein RaspberryPI aus. Ist sehr günstig und man kann so ziemlich alles damit anstellen.
 
Zuletzt bearbeitet:
ist es das um das es geht:
php core.jpg

curl.jpg
 
Ja, ich schau mirs schnell an...
 
Wir probieren es, indem ich das Script auf fopen umschreibe. Dann sehen wir, obs funktioniert. Das dauert einen Moment... :)
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.