Forenüberlastung durch massiv gestiegene Abfragen

Derzeit kommt es immer wieder zu heftigem Abfrageaufkommen im Forum, teils bis zum 20-fachen des üblichen. Deshalb ist das Forum langsam bzw. es kommt zu 503-Status-Anzeigen oder gar keiner Reaktion des Forums.

Wir haben in den letzten Wochen laufend reagiert und die Leistung verdoppelt, was zunächst geholfen hatte. Mittlerweile haben die Abfragen wieder zugenommen und wir haben heute am frühen Abend die Serverleistung nochmals verdoppelt. Allerdings hat sich gleich darauf das Abfragevolumen ebenfalls verdoppelt.

Wir arbeiten seit längerem an einem Umbau der IT-Struktur des Forums, damit sollten wir nächste Woche eine Verzehnfachung der Leistung erreichen und könnten mit der neuen IT-Basis dann auch nochmals nachlegen.

Die Ursachen für diese Abfragen scheint nach ersten Analysen in KI-Systemen zu liegen, die für das Training der Modelle das gesamte Internet mit hoher Leistung auslesen. Ein Filtern ist schwierig, weil es mal US-Adressen sind und dann wieder chinesische und das ständig wechselt.

Bitte sichert neue Beiträge in einem Texteditor vor dem Absenden im Browser. Wir bitten um Eure Geduld

[NEUHEIT] Rasenmähroboter Steuerung mittels Robonect

Hier stellen Foristen und Kunden Ihre EIGENEN Logikbausteine vor. Diese Logikbausteine stehen jedem im Rahmen der vom Autor eingeräumten / genannten Lizenz zur Verfügung.
Forumsregeln
  • Denke bitte an aussagekräftige Titel und gebe dort auch die [Firmware] an. Wenn ETS oder CometVisu beteiligt sind, dann auch deren Version
  • Bitte mache vollständige Angaben zu Deinem Server, dessen ID und dem Online-Status in Deiner Signatur. Hilfreich ist oft auch die Beschreibung der angeschlossener Hardware sowie die verwendeten Protokolle
  • Beschreibe Dein Projekt und Dein Problem bitte vollständig. Achte bitte darauf, dass auf Screenshots die Statusleiste sichtbar ist
  • Bitte sei stets freundlich und wohlwollend, bleibe beim Thema und unterschreibe mit deinem Vornamen. Bitte lese alle Regeln, die Du hier findest: https://wiki.timberwolf.io/Forenregeln

Ersteller
Advenoni
Reactions:
Beiträge: 300
Registriert: So Aug 12, 2018 11:55 am
Wohnort: Krumbach
Hat sich bedankt: 21 Mal
Danksagung erhalten: 117 Mal

#21

Beitrag von Advenoni »

Der Code vom TWS muss natürlich im TWS eingefügt werden, nicht in OpenHab.
In OpenHab brauchst du das Robonect-Bindung und musst die Datein anlegen.
Anschließend dann im TWS die Costum-Logik mit dem Code.
Sobald API über TWS verfügbar sein wird werde ich die Logik noch abändern, so dass ich Openhab nicht mehr brauche, und den Mäher direkt steuern kann.

Gruß,
Martin
wiregate ID:1619 / timberwolf 2400 ID:108 / 950 ID:240 ID:464, VPN offen, Reboot bitte nach Rücksprache

Ersteller
Advenoni
Reactions:
Beiträge: 300
Registriert: So Aug 12, 2018 11:55 am
Wohnort: Krumbach
Hat sich bedankt: 21 Mal
Danksagung erhalten: 117 Mal

#22

Beitrag von Advenoni »

Hallo zusammen,

ich bin nun endlich dazugekommen den Mäher über MQTT anzubinden.
Das heißt, es ist nicht mehr Openhab für die Anbindung nötig!
Neuer Code der Logik:

Code: Alles auswählen

// Steuerung Rasenmährooter Gardena Sileno City mit Robonect (https://www.robonect-shop.de/) über MQTT

{
    "Level": [
        // Levels allgemein
        ["$tr","bool",true],
        // Levels Betriebsart
        ["$In_Status","int",0],
        ["$Parken","bool",false],
        ["$Maeht","bool",false],
        ["$Suchen","bool",false],
        ["$Laden","bool",false],
        ["$Ausfahren","bool",false],
        ["$Fehler","bool",false],
        ["$Schlafen","bool",false],
        //Levels Betriebsstunden
	["$Reset","bool",false],	
	["$Maehzeit_Ist","float",0.0],
	["$Maehzeit_Soll","float",0.0],
	["$Interval","float",60.0],
	["$StartZeitTag","string","2 0 0 * * *"],
	["$Maehzeit_erreicht","bool",false],
	// Levels Freigabe Zeit
        ["$StartZeit","string","0 0 7 * * 1-6"],
        ["$StopZeit","string","0 0 22 * * 1-6"],
        ["$Set_crone","bool",false],
        ["$Res_crone","bool",false],
        ["$Set","bool",false],
        ["$Res","bool",false],
        ["$Set_ext","bool",false],
        ["$Res_ext","bool",false],
        ["$Stat","int",0],
        ["$Freigabe_Zeit","bool",false],
        // Levels Freigabe Temperatur
	["$Solltemp","float",5.0],
	["$Isttemp","float",0.0],
        ["$Freigabe_Temp","bool",false],
        // Level Freigabe Regen
        ["$Regen","bool",false],
        ["$Nachlaufzeit","float",3600.0],
        ["$Sperre_Regen","bool",false],
        ["$Freigabe_Regen","bool",false],
        // Levels Freigabe
        ["$Freigabe","bool",false],
        ["$Sperre","bool",false],
        // Levels Modus
        ["$Freigabe_int","int",0],
        ["$Wert_Maehen","int",2],
        ["$Wert_Home","int",1],
        ["$Modus","int",0],
        ["$Modus_string","string",""],
        ["$Modus_Home","string","home"],
        ["$Modus_Maehen","string","auto"],
        ["$Modus_Manuel","string","man"],
        ["$Modus_EOD","string","eod"],
        
        ["$VAR<Inhibit?>", "bool", false]
    ],
    "Module": [
        ["Break", ["$VAR<Inhibit?>"]  ],
        // Module Betriebsart
        ["Multiplexer",[0,"$tr",0],"$Parken","$In_Status"],
        ["Multiplexer",[0,0,"$tr",0],"$Maeht","$In_Status"],
        ["Multiplexer",[0,0,0,"$tr",0],"$Suchen","$In_Status"],
        ["Multiplexer",[0,0,0,0,"$tr",0],"$Laden","$In_Status"],
        ["Multiplexer",[0,0,0,0,0,"$tr",0],"$Ausfahren","$In_Status"],
        ["Multiplexer",[0,0,0,0,0,0,0,"$tr",0],"$Fehler","$In_Status"],
        ["Multiplexer",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"$tr",0],"$Schlafen","$In_Status"],
        // Module Mähzeit Tag
	// Zähler Rücksetzen
	["Cron","$tr","$Reset",0,"$StartZeitTag"],
	// Betriebsdauer aktualisieren
	["HobbsMeter","$Maeht","$Maehzeit_Ist","$Reset"],
	// ResetTag auf false setzen
	["Multiplexer",["$Reset","-$tr"],"$Reset","$Reset"],
	// Clocksignal für Sendeintervall
	["Clocksignal","$Maeht",0,"$Interval"],
	// Mähzeit erreicht
	["Comparator", "$Maehzeit_Ist","$Maehzeit_erreicht","$Maehzeit_Soll"],
        // Module Freigabe Zeit
        ["Cron","$tr","$Set_crone",0,"$StartZeit"],
        ["Cron","$tr","$Res_crone",0,"$StopZeit"],
	["Or",["$Set_crone","$Set_ext"],"$Set"],
	["Or",["$Res_crone","$Res_ext"],"$Res"],
        ["BinaryMultiplexer",["$Set","$Res"],"$Stat"],
        ["Multiplexer",["$Freigabe_Zeit","$tr","-$tr"],"$Freigabe_Zeit","$Stat"],
        // Module Freigabe Temperatur
	["Comparator","$Isttemp","$Freigabe_Temp","$Solltemp"],
	// Module Freigabe Regen
	["Monoflop","$Regen",0,"$Sperre_Regen","$Nachlaufzeit",5],
	["And",["-$Regen","-$Sperre_Regen"],"$Freigabe_Regen"],
	// Module Freigabe
	["And",["-$Sperre","-$Maehzeit_erreicht","$Freigabe_Zeit","$Freigabe_Regen","$Freigabe_Temp"],"$Freigabe"],
        // Module Modus		
    	["BinaryMultiplexer",["$Freigabe"],"$Freigabe_int"],
        ["Multiplexer",["$Wert_Home", "$Wert_Maehen"],"$Modus","$Freigabe_int"],
        ["Multiplexer",["$Modus_Home","$Modus_Maehen"],"$Modus_string","$Freigabe_int"]
    ],
    "Input": [
        ["Sperre","Sperre Automatik","$Sperre","c"],
        ["In_Status","Eingang Status","$In_Status","c"],
        ["Mähzeit","Mähzeit Soll","$Maehzeit_Soll","c"],
        ["Solltemperatur","Solltemperatur","$Solltemp","u"],
        ["Isttemperatur","Isttemperatur","$Isttemp","c"],
        ["Regen","Regensensor","$Regen","c"],
        ["Nachlaufzeit","Nachlaufzeit Regen","$Nachlaufzeit","c"],
        ["Start Tag","Mähen Tag starten","$Set_ext","c"],
        ["Ende Tag","Mähen für heute beenden","$Res_ext","c"],
        ["Inhibit", "INHIBIT", "$VAR<Inhibit?>", "u" ]
    ],
    "Output": [
        ["Parken","Parken","$Parken?","c"],
        ["Mäht","Mäht","$Maeht?","c"],
        ["Suchen","Ladestation Suchen","$Suchen?","c"],
        ["Laden","Laden","$Laden?","c"],
        ["Ausfahren","Mäher fährt aus Ladestation raus","$Ausfahren?","c"],
        ["Fehler","Fehler","$Fehler?","c"],
        ["Schlafen","Schlafen","$Schlafen?","c"],
	["Aktuelle Mähzeit","Mähzeit in h heute","$Maehzeit_Ist?","ct"],
        ["Freigabe","Freigabe","$Freigabe?","c"],
        ["Modus","Modus","$Modus","c"],
        ["Modus Text","Modus als Text für MQTT","$Modus_string","c"]

    ]
}

// Der Schöpfer dieser Custom Logik überträgt die Nutzungsrechte gemäß der TOLL ("Timberwolf Open Logikblock License") die unter https://wrgt.news/TOLL zum Download zur Verfügung steht."
Bild
Der Baustein funktioniert noch genauso wie der letzte nur kann der Ausgang "Modus Text" direkt an MQTT übergeben werden.
Nötige Pfade in MQTT:
Status über "/mower/status" (subscribe)
Steuerung über "/control/mode" (publish)

Weitere Steuer und Statuswerte über MQTT wären im Forum von Robonect beschrieben.

Wichtig! Es muss die Kommunikation über MQTT in Robonect unter "Kommunikation -> MQTT-Client" aktiviert werden!

Kommunikation über API wäre auch noch möglich (mit ein paar mehr Möglichkeiten), da habe ich aber noch nichts gemacht.

Gruß,
Martin
wiregate ID:1619 / timberwolf 2400 ID:108 / 950 ID:240 ID:464, VPN offen, Reboot bitte nach Rücksprache
Antworten

Zurück zu „Zusätzliche Logikbausteine“