Ankündigung

Einklappen
Keine Ankündigung bisher.

WLAN-Steckdosen schalten

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Sisamiwe
    antwortet
    Da melde ich mich mal zu Wort.

    Mit Hilfe der Beschreibung hier im Thread habe ich diese Steckdosen ohne Aufschrauben auf Tasmota gebracht. Ich habe dazu einen im LAN befindlichen RPI3 benutzt, auf den ich via ssh mit Putty zugegriffen habe. Auf dem RPI lief ein neues Buster_lite.
    Bei Tasmota gibt es dazu auch bereits in Template hier.
    Anbindung wie gehabt über MQTT.

    Echt easy.

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Na, wie sieht's aus?

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Hallo,

    dann setze ich jetzt mal meine Anleitung aus Post #17 fort:

    Ich empfehle die Gosund SP111 zu kaufen, da sie günstig ist und eine integrierte Strommessung hat. Hierfür gibt es auch ein Template in Tasmota. Bei anderen Steckdosen kann man die Verfügbarkeit von Templates vorab hier prüfen

    5) Nun muss die Steckdose mit dem WLAN verbunden werden [die Details überlasse ich mal dir im Blog zu beschreiben]
    6) Als nächstes verbinden wir uns mit dem Web-Interface von Tasmota. Die IP lässt sich über den Router finden. Oder über TasmoAdmin (https://github.com/reloxx13/tasmoAdmin)
    7) Darin konfigurieren wir
    a) Configure Module type und Configure Template: Man wählt das Template welches zur Steckdose passt.
    b) Configure MQTT: Server (IP von Smarthome.py bzw. dem Server auf dem mosquitto läuft), user und passwort des MQTT Servers (mosquitto). Topic (hier: MeineSteckdose1)
    c) Configure Other: MQTT enable und Friendly Name wählen (MeineSteckdose1)
    8) Mit
    Code:
     mosquitto_pub -h localhost -t -v -u mqtt_user -q 1 -d -P mqtt_pass -t cmnd/MeineSteckdose1/power -m 1
    Lässt sich die Steckdose jetzt einschalten. Mit einer 0 ausschalten.

    Integration in Smarthome.py

    9) In die etc/struct.yaml hinzufügen. Dies ist nun ein Template für alle Funk-Steckdosen und muss nur einmal gemacht werden.:
    Code:
    SteckdoseFunk:
        type: bool
        knx_dpt: 1
        influx: true
        mqtt_topic_in:  stat/gosundXX/POWER
        mqtt_topic_out: cmnd/gosundXX/power
        alexa_name: Template
        alexa_actions: "TurnOn TurnOff"
        alexa_device: XXXX
        alexa_description: XXXX
        hilfs_item:
          type: dict
          mqtt_topic_in:  tele/gosundXXX/SENSOR
          on_change:
            - ..Leistung = value['ENERGY']['Power']
            - ..Scheinleistung= value['ENERGY']['ReactivePower']
            - ..Factor=value['ENERGY']['Factor']
            - ..Strom=value['ENERGY']['Current']
        Leistung:
          type: num
          influx: true
        Scheinleistung:
          type: num
        Factor:
          type: num
        Strom:
          type: num
    10) Für jede Steckdose ein Item anlegen
    Code:
            SteckdoseFunk1:
                struct:
                   - SteckdoseFunk
                mqtt_topic_in:  stat/MeineSteckdose1/POWER
                mqtt_topic_out: cmnd/MeineSteckdose1/power
                alexa_name: Tischlampe
                alexa_device: Tischlampe_Arbeitszimmer
                alexa_description: Die Tischlampe im Arbeitszimmer
            SteckdoseFunk2:
                struct:
                   - SteckdoseFunk
                mqtt_topic_in:  stat/MeineSteckdose2/POWER
                mqtt_topic_out: cmnd/MeineSteckdose2/power
    Gruß,
    Hendrik
    Zuletzt geändert von henfri; 21.12.2019, 11:36.

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Super, dann kann es ja weiter gehen.
    Ich poste morgen meine Items inkl. Strommessung

    Einen Kommentar schreiben:


  • Gue0411
    antwortet
    Also ich hab es bisher mit einem alten Laptop versucht.
    Hier hatte ich einfach kali auf einen Stick gebootet.
    Dieser hatte die Fehlermeldungen.

    Nun hab ich mir noch einen Raspberry geholt (meine 5 im Live-Einsatz wollte ich nun mal nicht belasten damit )
    Mit dem Raspberry hat es auf Anhieb geklappt, sogar ohne kali, nur mit dem stock-raspian!
    Ich bin nun quasi so weit, dass die Steckdose mit meinem WLAN verbunden ist.
    Zuletzt geändert von Gue0411; 20.12.2019, 22:37.

    Einen Kommentar schreiben:


  • Gue0411
    antwortet
    Habs mal eingestellt, mal schauen, ob was bei rauskommt...

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Erstell Mal ein issue auf dem GitHub.

    Einen Kommentar schreiben:


  • Gue0411
    antwortet
    Ja, ich habe Kali Live genommen.
    Die config.txt habe ich nicht angepasst.

    edit1:
    Hab das Wlan kontrolliert, es ist wlan0, das passt also.
    Ich hatte keine Fehlermeldung beim ansprechen des Wlan.

    edit2:
    Ich versuche es gerade mal mit Mint, hier ist das Wlan wlp4s0, hatte gleich anfangs eine Fehlermeldung, ich solle das Wlan in der config.txt berichtigen.
    Bisher bekomme ich hier aber auch kein Wlan erstellt!

    edit3:
    in Mint habe ich noch mehr Fehlermeldungen bekommen...
    Wechsle wieder zurück auf Kali...
    Zuletzt geändert von Gue0411; 06.12.2019, 10:55.

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Bei mir mit Kali.
    aber das WLAN device heißt da nicht wlan0, wenn ich mich recht entsinne, sondern wlan0ps1 oder so

    Einen Kommentar schreiben:


  • artner
    antwortet
    Zitat von henfri Beitrag anzeigen

    Welches Linux nutzt du?
    lt. Log würde ich auf Kali Linux tippen

    Code:
     root@kali
    wie gesagt, mit einem frischen raspbian hats bei mir einwandfrei geklappt

    Einen Kommentar schreiben:


  • henfri
    antwortet
    https://github.com/ct-Open-Source/tu...ert/issues/358

    Die config.txt hast du angepasst?
    Wie heißt dein WLAN Interface? Wirklich wlan0?
    Ermitteln mit iwconfig

    Wenn ja:

    Welches Linux nutzt du?
    Zuletzt geändert von henfri; 06.12.2019, 07:07.

    Einen Kommentar schreiben:


  • Gue0411
    antwortet
    Also ich habe es mit und ohne sudo nochmal versucht, bekomme immer den gleichen Fehler.
    Hier mal den kompletten Verlauf des Befehls "start_flash.sh":
    Code:
    root@kali:~/tuya-convert# ./start_flash.sh
    Checking for network interface wlan0... Found.
    Checking UDP port 53... Available.
    Checking UDP port 67... Available.
    Checking TCP port 80... Available.
    Checking TCP port 443... Available.
    Checking UDP port 6666... Available.
    Checking UDP port 6667... Available.
    Checking TCP port 1883... Available.
    Checking TCP port 8886... Available.
    ======================================================
      Starting AP in a screen....................................................................................................................................................................................................................................................................
      Starting web server in a screen
      Starting Mosquitto in a screen
      Starting PSK frontend in a screen
      Starting Tuya Discovery in a screen
    
    ======================================================
    
    IMPORTANT
    1. Connect any other device (a smartphone or something) to the WIFI vtrust-flash
       This step is IMPORTANT otherwise the smartconfig may not work!
    2. Put your IoT device in autoconfig/smartconfig/pairing mode (LED will blink fast). This is usually done by pressing and holding the primary button of the device
       Make sure nothing else is plugged into your IoT device while attempting to flash.
    3. Press ENTER to continue
    
    
    ======================================================
    Starting smart config pairing procedure
    Waiting for the device to install the intermediate firmware
    ..Put device in EZ config mode (blinking fast)
    Sending SSID                  vtrust-flash
    Sending wifiPassword          
    Sending token                 00000000
    Sending secret                0101
    Traceback (most recent call last):
      File "./smartconfig/main.py", line 26, in <module>
        smartconfig( passwd, ssid, region, token, secret )
      File "/root/tuya-convert/scripts/smartconfig/smartconfig.py", line 46, in smartconfig
        sock = SmartConfigSocket()
      File "/root/tuya-convert/scripts/smartconfig/smartconfig.py", line 29, in __init__
        self._socket.bind((address, 0))
    OSError: [Errno 99] Cannot assign requested address
    ......................................................................................................................
    Device did not appear with the intermediate firmware
    Check the *.log files in the scripts folder
    Do you want to try flashing another device? [y/N] n
    Exiting...
    Ich bekomme einfach kein WLAN erstellt.
    Wenn ich das Checken der Ports am Anfang richtig sehe, dann passt das ja alles...


    Der Inhalt der "smarthack-wifi.log":
    Code:
    Attempting to stop wpa_supplicant
    Stopping NetworkManager...
    Configuring AP interface...
    RTNETLINK answers: File exists
    Starting DNSMASQ server...
    Starting AP on wlan0...
    Configuration file: /dev/stdin
    nl80211: Could not configure driver mode
    nl80211: deinit ifname=wlan0 disabled_11b_rates=0
    nl80211 driver initialization failed.
    wlan0: interface state UNINITIALIZED->DISABLED
    wlan0: AP-DISABLED
    wlan0: CTRL-EVENT-TERMINATING
    hostapd_free_hapd_data: Interface wlan0 wasn't started
    AP closed
    Stopping DNSMASQ server...
    Restarting NetworkManager...
    Der Inhalt der "smarthack-web.log":
    Code:
    Could not start server on port 80
    [Errno 99] Cannot assign requested address
    Der Inhalt der "smarthack-psk.log":
    Code:
    Traceback (most recent call last):
      File "./psk-frontend.py", line 111, in <module>
        main()
      File "./psk-frontend.py", line 97, in main
        proxies = [PskFrontend(gateway, 443, gateway, 80), PskFrontend(gateway, 8886, gateway, 1883)]
      File "./psk-frontend.py", line 48, in __init__
        self.server_sock = listener(listening_host, listening_port)
      File "./psk-frontend.py", line 17, in listener
        sock.bind((host, port))
      File "/usr/lib/python2.7/socket.py", line 228, in meth
        return getattr(self._sock,name)(*args)
    socket.error: [Errno 99] Cannot assign requested address
    Der Inhalt der "smarthack-mqtt.log":
    Code:
    1575547438: mosquitto version 1.6.7 starting
    1575547438: Using default config.
    1575547438: Opening ipv4 listen socket on port 1883.
    1575547438: Opening ipv6 listen socket on port 1883.
    Der Inhalt der "smarthack-udp.log":
    Code:
    Listening for Tuya broadcast on UDP 6666
    Listening for encrypted Tuya broadcast on UDP 6667
    192.168.178.70 {'ip': '192.168.178.70', 'gwId': '51817282840d8e5f3cd1', 'active': 2, 'ability': 0, 'mode': 0, 'encrypt': True, 'productKey': '0fHWRe8ULjtmnBNd', 'version': '3.3'}
    192.168.178.72 {'ip': '192.168.178.72', 'gwId': '88164702c44f338530c0', 'active': 2, 'ability': 0, 'mode': 0, 'encrypt': True, 'productKey': '0fHWRe8ULjtmnBNd', 'version': '3.3'}
    192.168.178.71 {'ip': '192.168.178.71', 'gwId': '88164702840d8e5b7b72', 'active': 2, 'ability': 0, 'mode': 0, 'encrypt': True, 'productKey': '0fHWRe8ULjtmnBNd', 'version': '3.3'}
    192.168.178.26 {'ip': '192.168.178.26', 'gwId': '60020372dc4f22a552dc', 'active': 2, 'ability': 0, 'mode': 0, 'encrypt': True, 'productKey': 'keyneruwsdethu7u', 'version': '3.3'}
    192.168.178.73 {'ip': '192.168.178.73', 'gwId': '60020372840d8e6f858d', 'active': 2, 'ability': 0, 'mode': 0, 'encrypt': True, 'productKey': 'keyneruwsdethu7u', 'version': '3.3'}

    Einen Kommentar schreiben:


  • TCr82
    antwortet
    Zitat von Gue0411 Beitrag anzeigen
    Nach Schritt 3 / vor 4 bekomme ich leider folgenden Fehler:
    Code:
    Traceback (most recent call last):
    File "./smartconfig/main.py", line 26, in <module>
    . smartconfig( passwd, ssid, region, token, secret )
    File "/root/tuya-convert/scripts/smartconfig/smartconfig.py", line 46, in smartconfig
    sock = SmartConfigSocket()
    File "/root/tuya-convert/scripts/smartconfig/smartconfig.py", line 29, in __init__
    self._socket.bind((address, 0))
    OSError: [Errno 99] Cannot assign requested address
    Sieht aus als kann er sich nicht auf einen Port (TCP/UDP) Binden - also den Server Port öffnen. Steht da irgendwo welcher Port da geöffnet werden soll?
    Für priorisierte Ports (unter 1024) benötigt man "normal" root - also mal versuchen mit root Rechten aufzurufen (sudo vor den Befehlt), wenn noch nicht gemacht.
    Andernfalls kann es noch daran liegen, dass der Port schon durch eine andere Anwendung belegt ist.
    Du kannst prüfen welche Anwendung den Port blockiert (wenn du weist welchen es benötigt) mit: "sudo netstat -naptu | grep LISTEN"

    Gruß
    Zuletzt geändert von TCr82; 05.12.2019, 08:58.

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Logs checken

    Einen Kommentar schreiben:


  • Gue0411
    antwortet
    Das hatte ich so auch noch.
    Dann bin ich im "Flash-Tool" und da bekomme ich dann diese Fehlermeldungen von oben...

    Einen Kommentar schreiben:

Lädt...
X