Javascript beliebte Fehler

Der verwöhnte Delphi-Programmierer hat unter Javascript zu leiden.

In dieser Tabelle (kontostand.com­ponent.html) wurde nichts angezeigt

<h2>Kontostand</h2>
<table class="kontostandRecords">
  <tr>
    <th>Datum</th>
    <th>Bezeichnung</th>
    <th>Betrag</th>
  </tr>
  <tr *ngFor="let konto of kontostandRecords"
    [class.selected]="konto === selectedKonto">
    <td>{{konto.datum | date: 'dd.MM.yy'}}</td>
    <td><a routerLink="/kubea/detail/{{konto.id}}">{{konto.kurz}}</a></td>
    <td class="wnfDM">{{konto.betrag}}</td>
  </tr>
</table>

weil in der Datei (kontostand.com­ponent.ts) ein falscher Name für kontostandRecords verwendet wurde:

export class KontostandComponent implements OnInit {
  kontenRecords: KontoRecord[];
  ...
  getKontostand(): void {
    this.kubeaService.getKontostand()
        .subscribe(konto => this.kontenRecords = konto);
  ...
  }

nach der Korrektur von kontenRecords auf kontostandRecords

export class KontostandComponent implements OnInit {
  kontostandRecords: KontoRecord[];
  ...
  getKontostand(): void {
    this.kubeaService.getKontostand()
        .subscribe(konto => this.kontostandRecords = konto);
  }
}

funktioniert die Anzeige des Kontostandes.

Tags: 

Radicale auf BBB

Die Installation von Radicale als CalDav und CardDav Server auf meinem BBB war erfolgreich. Radicale kommt mit einem eigenen Http-Server daher und muss deshalb nicht in nginx eingebunden werden.

Leider hatte Thunderbird/Lig­htning bei der ganzen Probiererei die Zusammenarbeit mit meinem CalDav-Kalender eingestellt. Es gab nur das gelbe Warndreieck: „Der Kalender ist nicht verfügbar“. Wie „hier (Kalender syncronisiert nicht – DAV_NOT_DAV – gelbes Warndreieck)“: https://www.thunderbird-mail.de/…warndreieck/ zu lesen ist, liegt das daran, dass Thunderbird die Passwörter nur einmal pro Server speichern kann. Deshalb habe ich

  • die Passwörter für den Radicale-Server in Thunderbird gelöscht.
  • Den Radicale-Kalender in Thunderbird abgemeldet
  • Thunderbird neu gestartet
  • Den Radicale-Kalender neu erstellt (mit der kompletten Pfadangabe, wie Radicale sie anzeigt.)
https://radicale.fritz.box:5232/user/xxxa40a-84cb-b167-4d4c-06f92db7xxx/
  • Es wird erneut nach User und Passwort gefragt, dann sollte der Radicale Kalender auch unter Thunderbird funktionieren.

Literatur

wnfPortal mit angular

Erzeuge Projekt wnfPortal

Web-Oberfläche für wnfKontakt und wnfKuB

$ ng new wnfportal
$ cd wnfportal
$ ng serve

NG Live Development Server is listening on localhost:4200, open your browser on http://localhost:4200/

Projekt in Github eintragen

Dazu auf Github ein leeres Repository anlegen (ohne .gitignore, ohné Readme und ohne Lizenz, sonst gibt es Ärger mit den folgenden Befehlen.)

$ cd wnfportal/
$ git init
$ git add .
$ git commit -m "First commit"
$ git remote add orign https://github.com/wnf58/wnfportal
$ git remote -v
$ git push orign master

Erzeugen der Komponente und des Service kubea

$ cd wnfportal
$ ng generate component kubea
$ ng generate component kubea-detail
$ ng generate component kubea-search
$ ng generate component dashboard
$ ng generate service kubea --module=app
$ ng generate service message --module=app
$ ng generate module app-routing --flat --module=app

angular httpclient

Der httpclient holt die anzuzeigenden Daten von meinem CherryPy-Server. Dabei kommt es zu dem beliebten Fehler No ‚Access-Control-Allow-Origin‘ header is present. Wie in Stackoverflow beschrieben muss der Cherrypy-Server folgendermaßen gestartet werden:

def server_dict():
    '''Erstellung der Konfiguration für CherryPy'''
    g={}
    g['tools.staticdir.root']=os.path.dirname(os.path.abspath(__file__))
    g['server.socket_port']=8081
    g['server.socket_host']='0.0.0.0'
    g['tools.sessions.on']=True
    g['tools.sessions.timeout'] =1000
    g['tools.sessions.name']="wnfportal8081id"
    g['tools.CORS.on'] = True
    c={'global': g}
    c['/']={'tools.staticdir.on':True,'tools.staticdir.dir':"www",'tools.staticdir.index' : "index.html"}
    return c

def CORS():
    cherrypy.response.headers["Access-Control-Allow-Origin"] = "*"

def main():
    cherrypy.tools.CORS = cherrypy.Tool('before_handler', CORS)
    cherrypy.quickstart(wnfPortal(),config=server_dict())
$ ng serve --host 0.0.0.0 --disable-host-check

Eine Kopie für den Verkauf erstellen

#!/bin/bash
DIRECTORY="/home/wnf/Entwicklung/wnfportal"
cd $DIRECTORY
pwd
ng build --prod
if [ -d "$DIRECTORY/dist" ]; then
  # Control will enter here if $DIRECTORY exists.
  rsync -azve ssh --delete "$DIRECTORY/dist/" wnf@bone2013.fritz.box:/var/www/wnfportal
fi
Tags: 

nodejs

Da nodejs in Kubuntu 16.04 nur in veralteten Paketen zu finden ist, hier die neueste Version holen:

https://nodejs.org/…age-manager/#…

curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -
sudo apt-get install -y nodejs

Zugriff über node-firebird auf die Datenbanken

sudo npm install node-firebird a

Literatur

Tags: 

Global 60 XT BF

CE-Kennzeichen CE-0063/17 CE-Zeichen ohne Kenn-Nummer Der Hersteller führt selbst die Fertigungskon­trolle durch.
Gas G20  
Baujahr 2017  
NOX-Klasse ??? http://media.druservice.nl/…rhaarden.pdf Seite 73
    http://media.druservice.nl/…_60XT_BF.pdf Seite 2
Raumheizungs-Emissionen NOx 126,0 mg/kWh input (GCV)  

NOx-Klasse 5 bedeutet: Stickoxid-Ausstoß maximal 70 mg/kWh

Literatur

Tags: 

Beaglebone Black und Locale

Meine Pythonscripte laufen nicht richtig auf dem BBB. Es kommt zur beliebten Fehlermeldung:

UnicodeEncodeError: 'ascii' codec can't encode character ...

1. Locale generieren

sudo locale-gen de_DE.UTF-8

2. Locale setzen, dies generiert auch die Datei /etc/default/lo­cale.

update-locale LANG=de_DE.UTF-8

3. Danach das System neu starten oder eine neue Konsole öffnen.

Literatur

Tags: 

Beaglebone Black und die blaue LED

Literatur BeagleBone Black Built-In LEDs

Falls der BBB sichtbar ist, nervt eine blau blinkende LED gehörig. Dabei handelt es sich um die LED 0 deren Steuerung im Verzeichnis /sys/class/led­s/beaglebone:gre­en:usr0 festgelegt wird.

$ cd /sys/class/leds/beaglebone:green:usr0

Diese LED wird vom heartbeat getriggert:

$ cat trigger
none rc-feedback kbd-scrolllock kbd-numlock kbd-capslock
kbd-kanalock kbd-shiftlock kbd-altgrlock kbd-ctrllock kbd-altlock
kbd-shiftllock kbd-shiftrlock kbd-ctrlllock kbd-ctrlrlock
nand-disk usb-gadget usb-host mmc0 mmc1 timer
oneshot [heartbeat] backlight gpio default-on

Um diesen Trigger auf none zu schalten sind die folgenden Befehle nötig:

$ sudo su
# echo none > trigger
$ cat trigger
[none] rc-feedback kbd-scrolllock kbd-numlock kbd-capslock
kbd-kanalock kbd-shiftlock kbd-altgrlock kbd-ctrllock kbd-altlock
kbd-shiftllock kbd-shiftrlock kbd-ctrlllock kbd-ctrlrlock
nand-disk usb-gadget usb-host mmc0 mmc1 timer
oneshot heartbeat backlight gpio default-on

Damit die blaue LED beim Booten des BBB ausgeschaltet wird müssen diese Zeilen in die Datei /etc/rc.local vor dem exit 0 eingetragen werden:

# blaue LED ausschalten
cd /sys/class/leds/beaglebone:green:usr0
echo none > trigger
Tags: 

Seiten