No handlers could be found for logger "websocket"

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
seecosmea
User
Beiträge: 5
Registriert: Freitag 5. Januar 2018, 11:08

Guten Tag,

Ich benutze folgendes Python Programm um via Websocket 1-Wire Sensoren Strings auszulesen. Das hat auch bis vor kurzem gut geklappt, habe jetzt 2 neue Sensoren angeschlossen und bekomme jetzt immer folgende Meldung wenn Ich das Python Programm im LXTerminal (Raspberry Pi 3 - Jessie) starte:

No handlers could be found for logger "websocket"

Die neuen Sensoren haben einen DS2438 chip und Ich glaube das dieser Umstand das Problem ist. Es kommen nur von den anderen Sensoren die Strings rein aber nicht von denen mit dem DS2438 Chipsatz.

Bis jetzt kann Ich nur die neuen Sensoren über die "wget" Methode im LXTerminal abfragen und bekommen folgende Strings rein:

CO2 Sensor:
{"vad": "1.23", "vdd": "5", "circuit": "2656DC84000003B7", "time": 1515692607.33644, "temp": "4.82031", "interval": 15, "typ": "DS2438", "lost": false, "dev": "temp", "humidity": 39.25448718301667}

Luftdruck Sensor:
{"vad": "2.49", "vdd": "5", "circuit": "265ADC84000003CA", "time": 1515747007.881459, "temp": "21.4258", "interval": 15, "typ": "DS2438", "lost": false, "dev": "temp", "humidity": 82.29317100084585}

Ich benötige aber die JSON Strings über das Python Programm, kann man da was machen damit Ich die neuen Sensoren auch über das folgende Programm bekomme:

Code: Alles auswählen

#!/bin/bash

import websocket
import json

url = "ws://127.0.0.1:88/ws"

def on_message(ws, message):
    obj = json.loads(message)
    dev = obj['dev']
    circuit = obj['circuit']
    value = obj['value']
    print message

def on_error(ws, error):
    print error

def on_close(ws):
    print "Connection closed"

#receiving messages
ws = websocket.WebSocketApp(url, on_message = on_message, on_error = on_error, on_close = on_close)
ws.run_forever()
Ich währe sehr Dankbar über Lösungts vorschläge :K
MegaMark
User
Beiträge: 5
Registriert: Sonntag 14. Januar 2018, 22:07

Ich glaube die Ip Adresse ist falsch, guck mal ob ein Port fehlt oder ob du dich verschrieben hast,
Gruß Mark
Viel Glück
__deets__
User
Beiträge: 14523
Registriert: Mittwoch 14. Oktober 2015, 14:29

Deine “Fehlermeldung” ist nur eine Warnung & hat mit Python logging zu tun.

Insofern hat das nix mit deinem Problem zu tun. Da geht’s dann darum, das dein Code nichts mit den leicht anderen JSON Strukturen klar kommt. Musst du halt prüfen, ob zb value oder temp vorhanden sind, und das entsprechende Datum rauspulen.
seecosmea
User
Beiträge: 5
Registriert: Freitag 5. Januar 2018, 11:08

Hallo MegaMark,

die IP ist richtig, das Programm funktioniert ja auch mit meinen 1-Wire Temperatur Sensoren und anderen Sensoren ohne Fehlermeldungen. Ich habe das Problem das Ich über das Programm auch die Daten über Websocket rein bekommen muss. Aber ich bekomme nur die Fehlermeldung "No handlers could be found for logger "websocket"" wenn die neuen Sensoren mit DS2438 an meinem 1-Wire Netzwerk sind. - Ich bekomme leider keine Daten von den neuen Sensoren rein.

Gib es da noch andere Lösungsvorschläge, Danke im Voraus ! :K
seecosmea
User
Beiträge: 5
Registriert: Freitag 5. Januar 2018, 11:08

Moin Deets,

danke für die Infos, ich benutze das Python Programm als Schnittstelle um die Strings in einem Gambas Programm einzulesen, leider kenne Ich mich nicht gut aus in Python, kann Ich da was machen um die Strings auch angezeigt zubekommen ?
__deets__
User
Beiträge: 14523
Registriert: Mittwoch 14. Oktober 2015, 14:29

Prinizpiell geht das so:

Code: Alles auswählen

if "key" in dict:
    value = dict["key"]
elif "anderer-key" in dict:
    value = dict["anderer-key"]
Aber ohne etwas Python zu lernen wird's schwierig.
Antworten