Beiträge von HagbardC

    Aaaalsoo ...

    ... Wochen später ...

    Ich habe, da mich lua fast wahnsinnig gemacht hat, nur eine Absenderanfrage in der test.lua stehen, die dann je nach Absender an ein bash-script übergibt.

    Hier wird dann nach den Nachrichten gefiltert und die entsprechenden Aktionen ausgelöst.

    Das funktioniert jetzt bereits eine Weile sehr gut und stabil und auch das Versenden von Bildern klappt. Auch ist die CPU-Last durch den Tipp mit der Ausführung im "screen" runter auf 4-6 Prozent.

    Wäre meine Lösung nicht so "wirr" programmiert, würde ich sie ja zur Verfügung stellen, aber ich fürchte ausgelacht zu werden .....

    Naja ...

    Eine Sache bleibt.

    Ich löse in der Bash die Antwort-Message wie folgt aus:

    Code
    /home/pi/tg/telegram -k /home/pi/tg/tg-server.pub -W <<AAA
    msg $Empfaeng $message
    safe_quit
    AAA

    Jetzt habe ich einen Fall, wo mehrere Informationen (mehrere Variablen) in einer einzelnen Nachricht (möglichst mit Zeilenumbruch) verschickt werden sollen.

    Ich habe es versucht mit:

    Code
    msg $Empfaeng $message1
    $message2
    $message3

    und mit

    Code
    msg $Empfaeng $message1/n $message2/n $message3

    als auch mit

    Code
    msg $Empfaeng $message1/n
    $message2/n
    $message3

    Das habe ich mir alles so "zusammengegoogelt", aber keine der Möglichkeiten bringt das Ergebnis, dass ich erwarte.

    Kann mir bitte jemand auf die Sprünge helfen?

    Danke!

    Gruss Haggi

    Aber der Lightmanager Mini bringt ja alles mit. Im Prinzip muss ja nur der Befehl von der (iPhone-)App an den
    USB-Port weitergereicht werden. "Damit" ist ja alles getan. Ich denke das sollte doch relativ machbar sein, oder?

    Da kann ich nun leider nicht weiterhelfen ... sorry


    Der UltraSconi V2 war ja "nur" ein Infrarot Empfänger :).

    Hhm? Also entweder liege ich mit der Bezeichnung falsch, oder Du vertust Dich.
    Das Ding empfängt und sendet Infrarot und sendet 433 MHz Funk.
    (steht übrigens ggf. zum Verkauf, wenn jemand Interesse hat :) )

    Gruss
    Haggi

    Edit: Ultra Sconi

    Hallo Timmi,

    ich war (bin) stolzer Besitzer eines Ultra-Sconi V2, der bei mir an einem Windows-PC mit der Software Sconi-Center jahrelang gute Dienste geleistet hat.

    Ich habe zwar keinesfalls eine befriedigende Antwort auf Deine Frage, aber ich kann soviel dazu sagen, dass ich nach stundenlangem googeln die Idee mit dem Sconi am RasPi etwas zu realisieren fallengelassen habe.

    Es endete bei mir damit, dass ich meinem RasPi einen Funksender und einen IR-Empfänger gegönnt habe und meine Steuerung von null an neu aufgebaut habe. (bash-scripts, php-seiten etc. pp) Die "Fummelei" ist zwar enorm und meine Ergebnisse wohl nicht auf andere Projekte übertragbar, aber ich finde es war jede Stunde wert.

    Resümierend kann ich sagen, dass der Sconi zwar eine "tolle Sache" war, aber betrachtet man, wie flexibel man mit einem selbstprogrammierten System ist (dank Linux), ist das was ich jetzt habe "geiler" ... :D

    ... just my 2 Cent ...

    Gruss
    Haggi

    Zitat

    So wie es im ersten Beitrag geschrieben wurde, ist es natürlich nicht. Natürlich wird man nicht einfach gekickt, wenn man einen Punkt vergisst. Aber Spam, Beleidigungen etc kommen doch ab und an vor.

    Das hatte ich mir schon gedacht.

    Aber wie gesagt, so ein Bot ist echt hilfreich.

    Und wenn jemand Zeit und Lust hat, sich damit zu befassen, dann kann so ein Bot auch "lustig" sein ... kann Leute begrüssen ... kann Quiz mit euch spielen ... etc. etc.

    Das alles neben seinen Aufgaben als Channel-Türsteher ....

    Also jetzt mal im Ernst ...

    Ich kenne den IRC nun schon Jahrzehnte und war auf etlichen Servern zu Hause.

    ... aber das jemand wegen seiner Rechtschreibung gekickt wird ...

    Klingt nach Aprilscherz, oder aber wenn es ernstgemeint sein sollte, dann halte ich mich von eurem IRC lieber fern ...

    Für einen Kick/Ban braucht es schon triftigere Gründe, wie Beleidigungen, ständiges spammen, o.ä. .... aber wegen Rechtschreibung?

    Nääääääääää

    (just my 2 cent)

    Gruss Haggi

    Hallo Timon,

    ich denke, dass es damit zusammenhängt das die Session zu früh geschlossen wird.

    Ich weiss nicht ob Du einen Webserver auf Deinem RasPi laufen hast, aber ich habe, da meine komplette Lösung auf Webseiten und Scripts basiert diese Dinge alle mit php gelöst.
    Ich habe eine für mein Smartphone optimierte Webseite auf dem RasPi laufen, die Buttons für die verschiedensten Aktionen enthält.

    Auf die Weise funktionieren bei mir alle Aktionen.

    Alternativ fiele mir noch ein, es mit "screen" zu versuchen, damit musste ich mich zwangsläufig gestern kurz beschäftigen und dort läuft dann Dein Prozess Sessionunabhängig.

    Abgekupfert von meiner gestrigen Variante wäre der Befehl dann wohl

    Code
    screen -dmS sudo shutdown -h now &


    (Das ist allerdings nur so ein ungetesteter Gedanke)

    Hoffe ich konnte weiterhelfen

    Gruss Haggi

    Zitat

    wir streiten nicht, ich werbe nur manchmal mit deutlicheren Worten für genauere Infos weil das sonst nicht hängenbleibt Icon_biggrin2 (wird ja auch mühsam immer alles von Adam und Eva zu erklären.


    ... schon klar ... war ja auch nur 'ne Randbemerkung. :D

    Zitat

    Ich meine wenn ich Schweineschwarte nicht essen will warum soll ich die kaufen nur weil man damit Schränke leichter über den Boden schieben kann ?


    *lach* - Sehr treffend ... dem ist nichts hinzuzufügen

    zurück zum Thema:

    Zitat

    wo hast Du Deine Musik gespeichert?

    Meine MP3 Sammlung liegt auf einer 2TB Platte, die ich an der FritzBox als NAS angeschlossen habe. Die Platte ist auf dem RasPi gemounted und somit ständig (und nicht nur für den RasPi) im Netzwerk verfügbar.

    Zitat

    Nun möchte ich die Musik vom Server einbinden. Wenn ich den Raspi anschalte, startet er per WOL auch den Server. Nun sollte der Rapi warten, bis der Server hochgefahren ist und die Media-Partition bereitstellt. Erst dann sollte auf dem Raspi MPD starten.

    Ich bräuchte also irgendein Script, was den Start des MDP solange verzögert, bis ein Verzeichnis oder Datei vom Server vorhanden ist.

    Nun, klingt für mich sehr umständlich, da bei mir die Platte ständig verfügbar ist, aber seisdrum ...

    Bau Dir doch ein Startskript für MPD, wo Du quasi eine einzelne Datei auf dem Server versuchst zu öffen ... solange das ohne Ergebnis bleibt, probiert das Skript es weiter.
    Sobald die entsprechende Datei gefunden wurde (das Laufwerk also verfügbar ist) läuft das Skript weiter und startet MPD.

    Nicht gerade "elegant" aber effektiv. :lol:

    Gruss Haggi

    ... nicht das es wichtig wäre, aber streiten ist kontraproduktiv.

    Im übrigen ist Wheezy sehr wohl auch Wohnzimmergeeignet, wenn man sich in Sachen Media auf das Abspielen von Musik beschränkt.

    Da ich einen Festplattenreceiver im Netzwerk hängen habe, erübrigen sich für mich die Anforderungen Video vom RasPi abzuspielen. Der RasPi ist bei mir in einem "entkernten" Sat-Receiver-Gehäuse untergebracht und direkt vor aller Augen im Wohnzimmer bei den anderen Geräten platziert. Er steuert Heizung, TV, Musik, Funksteckdosen, empfängt Infrarot und ist damit einerseits Schaltzentrale, aber auch zentraler Musikplayer ... nach mehreren Versuchen mit den anderen Distributionen hat sich hier Wheezy als die Leistungsfähigste gezeigt und die Musikwiedergabe per mpd/mpc und vom Tablet über MPDroid hat sich als komfortabel erwiesen.

    Und ich behaupte, dass ich da keinen "Kompromiss" sondern die "bestmögliche Lösung" für diese Kombination gefunden habe.

    Ergo: Wheezy ist nicht nur für "Bastelrechner" und "Datensammler".

    augenzwinkernder Gruss

    Haggi

    Ich stimme Lunepi zu!

    Die Rechte für den www-user zu vergeben halte ich für wenig sinnvoll. (und auch unsicher)

    Da ich selbst auch eine Funksteckdosen-Steuerung mit dem RasPi realisiere werde ich wohl über kurz oder lang auch vor diesem Problem stehen und ich denke, dass es das eleganteste sein wird, über php einfach eine on/off flag zu setzen, dass dann in einem vom Cron aufgerufen Script abgefragt wird und dann den Befehl ausführt oder eben nicht.

    Gruss Haggi

    Hallo,

    leider kann ich nur zum Thema "Ausgang" was sagen.

    Da bei mir das abspielen von Medien nicht vordergründig wichtig war, läuft mein RasPi unter Wheezy. Ich habe dann versuchsweise den Soundausgang mit meiner Anlage verbunden und fand es ausgesprochen "grottig" ...
    Um zunächst mal weiterzukommen, habe ich dann eine 10 Euro USB Soundkarte gekauft, die sich problemlos installieren liess und eine erstaunliche Soundverbesserung brachte.
    (Wenn ich heute Abend zu Hause bin, reiche ich den Namen der Soundkarte nach)

    In meiner derzeitigen Konfiguration liegt die Musik auf einer externen Platte, die als NAS an der FritzBox hängt.
    Auf dem Raspi habe ich mpd und mpc installiert und die Steuerung mache ich über ein Tablet mit MPDroid.
    Als Abfallprodukt dieser Konstruktion hängen ein paar alte PC-Boxen am normalen Ausgang des RasPi und ich nutze diese für die Ausgabe von System-Sound (text-to-speech etc.), so dass bei Systemmeldungen die Musik nichtmal beeinflusst wird.

    Ich überlege noch, ob ich mehr für eine (noch) bessere USB-Soundkarte ausgeben soll, muss aber zugeben, dass ich den 10 Euro Sound für mich und mein Wohnzimmer als "befriedigend" bezeichnen würde. :)

    Gruss Haggi

    Hallo,

    ich denke für diesen Fall eröffne ich mal einen eigenen Thread, da ich fürchte (oder auch wünsche), dass das Thema auch diskussionswürdig ist.

    Folgende Frage ...

    Auf meinem RasPi läuft der Telegram-Client und funktiioniert auch in jeder Hinsicht einwandfrei. Nun kann ich ja in der test.lua Bedingungen und Aktionen festlegen für den Fall einer eintreffenden Nachricht.

    Da ich hier einen ziemlichen Aufwand plane, mit einer Menge verschiedenster Bedingungen, wo unter anderem nach Absender und erhaltenem Text unterschieden werden muss, erscheint mir der Einbau in die test.lua eher nicht angebracht.


    Ich starte den Client/Listener per

    Code
    screen -dmS telegramID ./telegram -s test.lua


    durch den screen wird verhindert, dass das an anderer Stelle aufgetretene Problem mit der hohen CPU-Last, wenn der Client im Hintergrund läuft auftritt

    Nun kann ich ja in der test.lua meine Bedingungen für den Fall einer eingehenden Nachricht festlegen und ggf. Aktionen auslösen.

    Beispielweise eine schlichte Textantwort

    Code
    function on_msg_receive (msg)
    
    
    vardump( msg ) --Ausgabe von msg
    
    
      if (msg.text == 'Hallo') then
        send_msg (msg.from.print_name, 'Welt!')
        return
      end

    oder aber ich rufe ein bash-script auf

    Code
    function on_msg_receive (msg)
    
    
    vardump( msg ) --Ausgabe von msg
    
    
      if (msg.text == 'Hallo') then
      os.execute("/home/pi/telegram/meinbash.sh")
        return
      end

    Nun denn, ich habe mir in den letzten Monaten mühsam die Grundbegriffe der bash Programmierung draufgetan und bin einigermassen in der Lage bash-scripts zu schreiben.
    Lua ist für mich absolutes Neuland und ich muss gestehen, dass ich mir gestern ordentlich einen abgebrochen habe, bei dem Versuch einen verschachtelteten if then elseif else Block hinzukriegen. Das wiederum wäre in bash für mich kein Problem.

    Daher halte ich den folgenden Lösungsansatz für mich am geeignetsten:

    Ansatz 1
    Ich übergebe bei Eintreffen einer Nachricht den Absender und den Text an ein bash-script, dass dann auf meine unzähligen Bedingungen prüft, ggf. Aktionen auslöst und am Ende dann den Absender und den Antwort-Text wieder an die lua zurückgibt, die diese dann versendet.

    Ansatz 2
    Folgender Code soll ja von bash aus, direkt eine Nachricht senden können

    Code
    echo 'msg user#<ID> <Nachricht>\nquit' |./telegram

    Demnach würde ich dann wie oben die zwei Variablen übergeben und ALLES andere im bash-script ausführen, ohne die Variablen an die lua zurückgeben zu müssen.

    Nun zu meinen Fragen:

    Stimmt ihr mir zu, dass diese Variante eleganter ist, als die test.lua mit unzähligen Bedingungen zu füllen? (wozu ich mich auch noch intensiv mit lua beschäftigen müsste)

    Welcher der beiden Ansätze macht mehr Sinn und mit welchen Schwierigkeiten muss ich rechnen?

    und jetzt kommts ... (war doch klar, oder?)

    Ich kann ja mit

    Code
    os.execute("/home/pi/telegram/tgexe \""..msg.from.print_name.."\" \""..msg.text.."\"")

    die Variablen an die bash übergeben

    Wie gebe ich sie anschliessend zurück?

    Ich fände es schön, das mal auszudiskutieren, da ich mir wirklich die halbe Nacht das Hirn zermartert habe und ziemlich unsicher bin, wie ich es am Besten mache.

    Und wenn dann noch jemand die letzte Frage beantworten würde, wäre Ostern gerettet.

    Danke im Voraus

    Gruss Haggi

    Da bin ich nochmal ...

    Kurzer Zwischenbericht aus dem Testlabor.

    Die Unterscheidung des Absender funktioniert, wie von RasmusA beschrieben!

    Top!

    Ausführen von bash-scripts ebenfalls!

    Top!

    Ich tue mich derzeit noch schwer mit der Verschachtelung der if-statements in lua, aber ich denke, dass kriege ich am Wochenende in den Griff.

    Dann habe ich von einem "Zwölf-Stunden-Problem" gelesen, wo telegram nach 12 Stunden abschmiert, da habe ich mir überlegt, bis es eine andere Lösung gibt, werde ich telegram im 8 Stunden Rhythmus per Cron stoppen und wieder starten. (nicht besonders elegant, ich weiss)

    Was bleibt ist eine Frage:

    Warum wird der "zuletzt online" Status des RasPi nicht aktualisiert?
    (Er empfängt, er sendet ... das muss doch registriert werden, oder?)

    Kann man eine Aktualisierung des Status erzwingen?

    Nochmals vielen, vielen Dank an RasmusA. Du hast mir heute echt ein Fest bereitet.

    Gruss Haggi

    Edit:

    Damn! - als Cron ausgeführt habe ich nun auch das "94% CPU-Problem" ... gibt es da schon eine Lösung? Ich habe gesucht, aber nichts finden können. - Hilfe!!!!!

    Re-Edit:

    Problem solved!

    Per

    Code
    screen -dmS telegramID ./telegram -s test.lua


    gestartet wird tg schön klein gehalten.

    Ob damit auch der 12-Stunden-Absturz erledigt ist, weiss ich morgen ...

    ... to be continued

    Hi Rasmus,

    erstmal vielen Dank! :bravo2:

    Ich nehme an "tgexe" wäre in dem Fall das sh-script, oder?

    Ansonsten sieht das aus, als hättest Du meine Fragen auf Anhieb alle beantwortet.

    Da habe ich über Ostern schön was zu tun .... :lol:
    (ich werde noch berichten, wie (und ob) es läuft.)

    Nochmals Danke!

    Gruss Haggi

    Hi Folks, :helpnew:

    jetzt muss ich auch noch mal anfangen ....

    Ich war so glücklich, dass es bei mir nun einigermassen mit den Bash-Scripts läuft und nun will ich telegram nutzen und stehe vor Lua (#Neuland).

    Grundsätzlich ist mir die Vorgehensweise klar und telegram läuft auch bereits unter seiner eigenen Nummer auf dem RasPi.

    Was bleibt sind wieder einige (möglicherweise blöde) Fragen:

    1. Kann (könnte) ich in der test.lua unter on_msg_receive auch bash-scripts (.sh) aufrufen?
    mit os.execute o.ä.? Wenn ja, wie ist dann die korrekte Syntax?

    2. ist es auch möglich, in der test.lua den Absender der Nachricht als Bedingung anzugeben?
    (Alles was ich bisher gesehen habe, verwendet immer den Nachrichteninhalt als Bedingung.)


    [Hintergrund ist der, ich will per telegram Aktionen auf dem RasPi auslösen, diese Befehle soll er aber ausschliesslich von mir annehmen. - Weiterhin denke ich, wenn der "ernsthafte" Part mal läuft, vielleicht mit Blick auf den Spassfaktor, personalisierte Antworten vom Pi versenden zu lassen, wenn er ein paar meiner Freunde auf der Kontaktliste hat.. - (es wäre dann auch eine zeitgesteuerte "Alibi-Message" ans Handy möglich ... )]

    Nunja ... aber zunächst den "ernsten" Part ... ich hoffe jemand hier kann mir in Sachen Lua helfen ...

    Danke

    Gruss Haggi

    Vorsicht: Doppelpost ...


    also ... nach viel lesen und staunen hab ich mir überlegt, dass ich doch am liebsten eine Lösung mit WhatsApp hätte. Zum einen habe ich das auf dem Smartphone ohnehin ständig parat und zum anderen wäre der Aufwand für die Rufnummer etc. ja eine einmalige Sache.

    Ist denn WhatsApp nun komplett aus dem Rennen, oder gibt es einen "Workaround" der mich das trotzdem nutzen lässt?

    nochmals Danke

    Haggi

    Wow ... so viel neues über Nacht. :)

    dbv - Du wirst es nicht glauben, aber F*U*C*K*U*P ist der "interne" Name meines RasPi.
    Twitter klingt sehr interessant, dann würde ich mir auch das Gehampel mit der eigenen Mobil-Nummer sparen können.

    @einfach Tobi - Ja, an SSH habe ich auch schon gedacht, aber öffne ich dann nicht ein "Scheunentor" nach aussen? - Das steht eigentlich nicht auf meinem Zettel. :)

    @all - iPhone Apps brauch' ich nicht! 8-) - (bitte jetzt keine Diskussion darüber ...)


    Also nochmals danke, wenn es Links gibt, die mir in Richtung Twitter weiterhelfen, bitte rüberreichen.

    THX

    Haggi

    Hi, hier bin ich wieder.

    Inzwischen habe ich meinen RasPi da, wo ich ihn hinhaben wollte.
    Er empfängt Infrarot, sendet Funk an meine Steckdosen und Infrarot-Signale über IRTrans. So steuert er Beleuchtung, Fernseher, Hifi usw.
    Er kann E-Mail senden und empfangen (mit eigenem GMAIL-Account) und die Mails auch auswerten.

    Alles Super!

    Um von der Ferne meinen Laptop anzuwerfen, schicke ich derzeit eine Mail an den RasPi, die dann ausgewertet wird und auch dazu taugt, Befehle auszuführen. (zum Beispiel eben, den Laptop zu wecken).

    Das funktioniert zwar soweit, aber ich denke, dass das auch "eleganter"geht.

    Meine Frage:

    Kann ich (zum Beispiel) WhatsApp auf dem RasPi (mit eigenem Account) installieren und eingehende WhatsApp-Nachrichten dahingehend auswerten, dass dadurch Aktionen ausgelöst werden?

    Mir geht es hierbei speziell um den Fall, wo kein Computer zur Hand ist um z.B. SSH zu verwenden. Also, das ich mit einer schnellen Kurznachricht dem RasPi vom Handy aus Befehle geben kann ...

    Jemand eine Idee?

    Danke schon mal ....

    Haggi