alpha javaprinter cups

In diesem Forum können Fragen zum OrderSprinter gestellt werden.
FrankDaBass
Beiträge: 18
Registriert: Fr 22. Mai 2020, 09:20
Wohnort: Vetschau/Spreewald
Kontaktdaten:

alpha javaprinter cups

Beitrag von FrankDaBass »

Hallo,

ich versuche den javaprinter des alpha Pakets über cups mit einem Oki-C510dn zum Testen zu bringen, da ich noch keinen Bondrucker habe.
Ist das überhaupt möglich?

config.json
{
"instance" : 1,
"vendorid" : "4348",
"productid" : "5584",
"printersize" : 32,
"printcode" : "123",
"baseurl":"http://localhost/ordersprinter/",
"baseusername" : "",
"basepass" : "",
"escinits" : [ 27, 64, 27, 116, 0 ],
"escposts" : [ 29, 86, 66, 10, 27, 64],
"useeveryprintdevice" : 1,
"verbose_closing_summary" : 1,
"smallformat" : 0,
"logoscale" : 1.0
}

java -jar javaprinter.jar -mode=cups -cupsprinter=Oki-C510dn -configfile=./config.json
Operation mode:
OperationMode [asyncUsb=false, allowBigPackets=false, weakssl=false, cups=true, legacy=false, onlydump=false, cupsPrintername=Oki-C510dn, configFile=./config.json]
CUPS information:
Number of print services: 1
Available printer:
Oki-C510dn
Default printer: Oki-C510dn
Read: ./config.json
Instance: 1
Config: Config [printersize=32, vendorid=4348, productid=5584, currency=Euro, decpoint=,, companyinfo=Zum Blechen
Carrl-Blechen-Str. 1
02336 Vetschau/Spreewald, escinits=[27, 64, 27, 116, 0], escposts=[29, 86, 66, 10, 27, 64], printcode=123, baseurl=http://localhost/ordersprinter/, baseusername=, basepass=, verbose_closing_summary=1]
com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'Kommando': was expecting ('true', 'false' or 'null')
at [Source: Kommando nicht erkannt!; line: 1, column: 9]
at com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:1487)
at com.fasterxml.jackson.core.base.ParserMinimalBase._reportError(ParserMinimalBase.java:518)
at com.fasterxml.jackson.core.json.ReaderBasedJsonParser._reportInvalidToken(ReaderBasedJsonParser.java:2299)
at com.fasterxml.jackson.core.json.ReaderBasedJsonParser._handleOddValue(ReaderBasedJsonParser.java:1458)
at com.fasterxml.jackson.core.json.ReaderBasedJsonParser.nextToken(ReaderBasedJsonParser.java:683)
at com.fasterxml.jackson.databind.ObjectMapper._initForReading(ObjectMapper.java:3604)
at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:3549)
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2599)
at javaprinter.ReceiptWorker.fetchAndPrintTicketJobs(ReceiptWorker.java:93)
at javaprinter.ReceiptWorker.fetchAndPrintTickets(ReceiptWorker.java:35)
at javaprinter.Main.main(Main.java:211)
com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'Kommando': was expecting ('true', 'false' or 'null')
at [Source: Kommando nicht erkannt!; line: 1, column: 9]
at com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:1487)
at com.fasterxml.jackson.core.base.ParserMinimalBase._reportError(ParserMinimalBase.java:518)
at com.fasterxml.jackson.core.json.ReaderBasedJsonParser._reportInvalidToken(ReaderBasedJsonParser.java:2299)
at com.fasterxml.jackson.core.json.ReaderBasedJsonParser._handleOddValue(ReaderBasedJsonParser.java:1458)
at com.fasterxml.jackson.core.json.ReaderBasedJsonParser.nextToken(ReaderBasedJsonParser.java:683)
at com.fasterxml.jackson.databind.ObjectMapper._initForReading(ObjectMapper.java:3604)
at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:3549)
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2599)
at javaprinter.ReceiptWorker.fetchAndPrintTicketJobs(ReceiptWorker.java:93)
at javaprinter.ReceiptWorker.fetchAndPrintTickets(ReceiptWorker.java:35)
at javaprinter.Main.main(Main.java:211)


Besten Gruß
FrankDaBass
Zum Blechen - Music Food Drinks
Carl-Blechen-Str. 1
03226 Vetschau
https://zumblechen.de
pichel
Administrator
Beiträge: 1168
Registriert: So 13. Sep 2015, 19:48
Wohnort: Hamburg
Kontaktdaten:

Re: alpha javaprinter cups

Beitrag von pichel »

Hallo,

man kann auch mit der CUPS-Variante nur Bondrucker benutzen, weil nur diese das ESC/POS-Protokoll kennen. Die Fehlermeldung zeigt aber noch einen anderen Fehler, nämlich eine Inkompatibilität zwischen Javaprinter und Kernsystem.

Wenn man CUPS verwenden möchte, dann empfehle ich wie auf der FAQ-Seite (http://www.ordersprinter.de/faq.php) beschrieben, den neuesten Javaprinter in Zusammenhang mit dem Kernsystem in Version 1.6.10 zu verwenden und als Parameter -mode=legacy-cups zu übergeben.

Gruß,

Stefan
Stefan Pichel
Entwickler der Kassensoftware OrderSprinter (http://www.ordersprinter.de)
FrankDaBass
Beiträge: 18
Registriert: Fr 22. Mai 2020, 09:20
Wohnort: Vetschau/Spreewald
Kontaktdaten:

Re: alpha javaprinter cups

Beitrag von FrankDaBass »

Hallo Stefan,

vielen Dank für die Hinweise. Habe jetzt den neuesten Javaprinter installiert. Die Inkompatibilität ist gelöst.
Aber ja, werde wohl einen ESC/POS Bondrucker besorgen.

Wenn ich alles richtig verstehe, würde der Epson TM-m30F mit TSE die KassenSichV erfüllen, ohne das man die POS Software für TSE anpassen muss. Möglicher Weise übersehe ich aber noch was.


Schönen Sonntag
FrankDaBass
Zum Blechen - Music Food Drinks
Carl-Blechen-Str. 1
03226 Vetschau
https://zumblechen.de
pichel
Administrator
Beiträge: 1168
Registriert: So 13. Sep 2015, 19:48
Wohnort: Hamburg
Kontaktdaten:

Re: alpha javaprinter cups

Beitrag von pichel »

Hallo FrankDaBass,

das ist ein Werbetrick von Epson. Natürlich muss die POS-Software angepasst werden, wenn man deren TSE benutzen möchte, auch wenn diese im Drucker verpackt ist.

Im ersten Schritt wird meine Software nur die TSE vin Swissbit unterstützen.

Gruß,

Stefan
Stefan Pichel
Entwickler der Kassensoftware OrderSprinter (http://www.ordersprinter.de)
FrankDaBass
Beiträge: 18
Registriert: Fr 22. Mai 2020, 09:20
Wohnort: Vetschau/Spreewald
Kontaktdaten:

Re: alpha javaprinter cups

Beitrag von FrankDaBass »

Hallo Stefan,

wie ist das mit Werbetrick von Epson gemeint? Ich denke, nur wenn ein Bondruck gemacht wird, wird auch auf die TSE geschrieben, was nach KassenSichV eventuell nicht ausreicht.

Ich teste gerade die alpha Version mit TSE Simulation, das sieht schon mal nicht schlecht aus.
Dazu ein paar Dinge:

Beim TSE Export Download kommt die Meldung "Nach Post" und danach "Fehler beim Export-Azfruf"
Beim TSE Export local kommt die Meldung: Command: exportlocal, Answer: Export completed. Wo liegt den dann der Export?

Beim DSFinV-K Export erhalte ich eine HTML Seite, und auf Ihrer Demo einen ordentlichen zip Download
/php/contenthandler.php?module=admin&command=dsinvkexport

Besten Gruß
FrankDaBass
Zum Blechen - Music Food Drinks
Carl-Blechen-Str. 1
03226 Vetschau
https://zumblechen.de
pichel
Administrator
Beiträge: 1168
Registriert: So 13. Sep 2015, 19:48
Wohnort: Hamburg
Kontaktdaten:

Re: alpha javaprinter cups

Beitrag von pichel »

Hallo FrankDaBass,

die Drucker von Epson mit eingebauter oder einsteckbarer TSE bieten sich vor allem für Kassensysteme an, bei denen der zentrale Server in der Cloud ist, die TSE aber zwingendermaßen lokal sein muss. Wenn man also nur mit Tablets/Smartphones boniert, aber alles in der Cloud verarbeitet wird, so würde ja vor Ort ein Rechner fehlen, in dem man die TSE einstecken könnte. Nun ist es aber so, dass aufgrund der Bonausgabepflicht immer ein Drucker lokal vorhanden sein muss - und Epson hat die Drucker so erweitert, dass man da nun auch eine TSE unterbringen kann.

Das Bundle aus Drucker und TSE bedeutet nicht, dass da ein Automatismus nach jedem Ausdruck existiert, der die Kassensoftware entlastet. Das ginge schon alleine aus dem Grund nicht, weil viel häufiger TSE-Signaturen erstellt werden müssen, als üblicherweise Druckjobs generiert werden. Beispielsweise arbeiten nicht alle Gastwirte mit Arbeitsbons und trotzdem muss jede Bestellung (und deren mögliche Stornierung) über die TSE signiert werden.

Die TSE im Drucker muss aber wie jede andere TSE von der Kassensoftware angesprochen werden und die Rückgabewerte (Signatur, Transaktionsnummer usw.) müssen natürlich auch wieder im Datenbestand der Kassensoftware gespeichert werden. Zur Kommunikation mit der TSE bietet Epson verschiedene Protokolle, Treiber und SDKs an.

Leider hat jeder Hersteller eigene Protokolle, Treiber (und leider auch Lizenzen), so dass man für jeden TSE-Anbieter die Anbindung individuell programmieren muss. Ich versuche mich an einem generischen Konzept, welches die Anfragen an die TSE in einem einheitlichen Konzept entgegennimmt und die Anfragen anschließend spezifisch an die jeweilige TSE weiterleitet. Aber trotzdem steckt auch in diesem Ansatz eine Menge Arbeit, so dass ich mich erst mal auf eine TSE fokussiert habe. Ich habe mit der Swissbit-TSE angefangen, weil es am einfachsten war, an eine Entwickler-TSE dieses Anbieters zu kommen. Mittlerweile besitze ich auch eine TSE von Epson, aber die versuche ich dann zu unterstützen, wenn die Anbindung der Swissbit-TSE abgeschlossen ist.

Warum ich also die Aussagen von Epson für einen Werbetrick halte, überlasse ich deiner Interpretation.

Gruß,

Stefan
Stefan Pichel
Entwickler der Kassensoftware OrderSprinter (http://www.ordersprinter.de)
FrankDaBass
Beiträge: 18
Registriert: Fr 22. Mai 2020, 09:20
Wohnort: Vetschau/Spreewald
Kontaktdaten:

Re: alpha javaprinter cups

Beitrag von FrankDaBass »

Hallo,

ich habe eine weile recherchiert und folgende Seiten besucht:

https://www.bsi.bund.de/DE/Themen/Zerti ... _node.html
https://www.bzst.de/DE/Unternehmen/Auss ... _node.html
https://support.gastro-mis.de/support/s ... -anbindung
https://www.fiscal-community.com/ habe dort ein Account

Mir ist bewusst geworden, dass die TSE nicht trivial ist, aber die swissbit schon weit fortgeschritten ist. Kann leider per openssl den publickey der tseconnector im simulate modus nicht lesen.

Um ein wenig Planungssicherheit zu bekommen, interessiert mich, wann das Release 2.0 mit swissbit TSE kommt.
Ich bin Restaurant Newcomer und habe noch ein wenig Zeit, sagen wir Corona Pause.

Gibt es eine Möglichkeit den Bondruck zu simulieren?
Ich bin auch auf das Thema elektronische Bons gestoßen. Gibt es da Überlegungen? Z.B. in einfacher Form den Bon nur per Mail verschicken, oder so.

Bitte verschieben Sie gerne das Thema wenn es hier nicht mehr, oder wo anders besser passt.

Gruß
FrankDaBass
Zum Blechen - Music Food Drinks
Carl-Blechen-Str. 1
03226 Vetschau
https://zumblechen.de
pichel
Administrator
Beiträge: 1168
Registriert: So 13. Sep 2015, 19:48
Wohnort: Hamburg
Kontaktdaten:

Re: alpha javaprinter cups

Beitrag von pichel »

Hallo FrankDaBass,

der Simulate-Modus dient vor allem mir, damit ich meine Anwendung besser entwickeln und auch automatisch testen kann, wenn ich stets reproduzierbare Resultate von der simulierten TSE bekomme. Damit Anwender die Entwicklerversion anschauen können, ohne ihre teure TSE mit Testdaten zu "beschmutzen", habe ich den Simulationsmode im der öffentlichen Entwicklerversion dringelassen. Aber der Simulate-Modus kann halt noch nicht alles.

Das ganze Thema TSE und vor allem DSFinv-k ist sehr aufwändig in der Implementierung und an vielen Stellen erschließt sich mir auch nicht, wie die Spezifikation denn tatsächlich zu interpretieren sind. Ich tausche mich dann mit einem Entwickler einer anderen Kassensoftware aus und so komme ich Schritt-für-Schritt weiter, indem wir uns gegenseitig unterstützen.

Aber es ist immer noch ein Projekt, dass ich in meiner Freizeit programmiere und auch über die kann ich nicht ganz frei selbst und losgelöst von meinem Umfeld verfügen. Daher kann ich dir keine Deadline für die Version 2.0 geben. Ich setze alles daran, dass diese Version so rechtzeitig vor dem 30.9. herauskommt, dass alle Anwender noch genügend Zeit habe, sich die Version anzuschauen, die Hardware von Swissbit zu besorgen, und dass ich auch noch Luft für Bugfixes habe, die erst nach 2.0 bekannt werden, aber bis zum 30.9. gelöst werden müssen.

Zur Frage der Simulation von Bondrucks. Prinzipiell geht es, denn ich brauche das für die Entwicklung, denn ich will ja nicht ständig Bonpapier verschwenden. Allerdings gibt es keinen Button für die Umschaltung auf der Benutzeroberfläche. Stattdessen muss du im PHP-Quelltext in den Dateien printqueue.php und layouter.php auf die html-Ausgabe statt der "printers"-Ausgabe umschalten.

Zur Frage: Bon per Email: Bisher gibt es noch kein Konzept, was mich hinsichtlich Datenschutz überzeugt und auch die Festlegung, wie so eine elektronischer Bon denn aussehen muss, ist nach meinem Verständnis nicht klar definiert. Solange es da kein gutes Konzept gibt, bei dem ich sicher sein kann, dass der Anwender damit kein Problem bekommen kann, werde ich da nichs implementieren.

Viele Grüße,

Stefan
Stefan Pichel
Entwickler der Kassensoftware OrderSprinter (http://www.ordersprinter.de)
FrankDaBass
Beiträge: 18
Registriert: Fr 22. Mai 2020, 09:20
Wohnort: Vetschau/Spreewald
Kontaktdaten:

Re: alpha javaprinter cups

Beitrag von FrankDaBass »

Moin moin Stefan,

danke für die Antworten.
Ok, dann bin ich guter Dinge.

Aber printqueue.php und layouter.php auf die html-Ausgabe statt der "printers"-Ausgabe umschalten, geht ich nicht auf Anhieb.
Habe das probiert:

php/utilities/layouter.php
public static $HTML = 1;
public static $PR = 0;

/php/printqueue.php
keine Ahnung, was umstellen ...

Gruß
FrankDaBass
Zum Blechen - Music Food Drinks
Carl-Blechen-Str. 1
03226 Vetschau
https://zumblechen.de
pichel
Administrator
Beiträge: 1168
Registriert: So 13. Sep 2015, 19:48
Wohnort: Hamburg
Kontaktdaten:

Re: alpha javaprinter cups

Beitrag von pichel »

Na ja, ganz soooo einfach ist es dann doch nicht, man muss da schon etwas mehr einsteigen und ändern. Ist nicht viel, aber man muss die richtigen Stellen im Quelltext finden.
Da ich aber hier zu Hause mit einer ständig sich ändernden Version arbeite, kann ich dir auch keinen Patch geben, der zur aktuell auf der Webseite eingespielten Entwicklerversion passt. Dazu fehlt mir leider schlicht die Zeit, tut mir leid...
Stefan Pichel
Entwickler der Kassensoftware OrderSprinter (http://www.ordersprinter.de)
Antworten